diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/src/particles/webgl/ParticleRenderer.js b/src/particles/webgl/ParticleRenderer.js index 5f0281a..b416c1c 100644 --- a/src/particles/webgl/ParticleRenderer.js +++ b/src/particles/webgl/ParticleRenderer.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), ParticleShader = require('./ParticleShader'), ParticleBuffer = require('./ParticleBuffer'); @@ -29,7 +29,7 @@ // so max number of particles is 65536 / 4 = 16384 // and max number of element in the index buffer is 16384 * 6 = 98304 // Creating a full index buffer, overhead is 98304 * 2 = 196Ko - // var numIndices = 98304; + // let numIndices = 98304; /** * The default shader that is used if a sprite doesn't have a more specific one. @@ -54,7 +54,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; @@ -118,7 +118,7 @@ */ render(container) { - var children = container.children, + let children = container.children, totalChildren = children.length, maxSize = container._maxSize, batchSize = container._batchSize; @@ -132,7 +132,7 @@ totalChildren = maxSize; } - var buffers = container._glBuffers[this.renderer.CONTEXT_UID]; + let buffers = container._glBuffers[this.renderer.CONTEXT_UID]; if(!buffers) { @@ -142,29 +142,29 @@ // if the uvs have not updated then no point rendering just yet! this.renderer.setBlendMode(container.blendMode); - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var m = container.worldTransform.copy( this.tempMatrix ); + let m = container.worldTransform.copy( this.tempMatrix ); m.prepend( this.renderer._activeRenderTarget.projectionMatrix ); this.shader.uniforms.projectionMatrix = m.toArray(true); this.shader.uniforms.uAlpha = container.worldAlpha; // make sure the texture is bound.. - var baseTexture = children[0]._texture.baseTexture; + let baseTexture = children[0]._texture.baseTexture; this.renderer.bindTexture(baseTexture); // now lets upload and render the buffers.. - for (var i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) + for (let i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) { - var amount = ( totalChildren - i); + let amount = ( totalChildren - i); if(amount > batchSize) { amount = batchSize; } - var buffer = buffers[j]; + let buffer = buffers[j]; // we always upload the dynamic buffer.uploadDynamic(children, i, amount); @@ -194,7 +194,7 @@ */ generateBuffers(container) { - var gl = this.renderer.gl, + let gl = this.renderer.gl, buffers = [], size = container._maxSize, batchSize = container._batchSize, @@ -221,7 +221,7 @@ */ uploadVertices(children, startIndex, amount, array, stride, offset) { - var sprite, + let sprite, texture, trim, orig, @@ -229,7 +229,7 @@ sy, w0, w1, h0, h1; - for (var i = 0; i < amount; i++) { + for (let i = 0; i < amount; i++) { sprite = children[startIndex + i]; texture = sprite._texture; @@ -285,9 +285,9 @@ */ uploadPosition(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spritePosition = children[startIndex + i].position; + let spritePosition = children[startIndex + i].position; array[offset] = spritePosition.x; array[offset + 1] = spritePosition.y; @@ -317,9 +317,9 @@ */ uploadRotation(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteRotation = children[startIndex + i].rotation; + let spriteRotation = children[startIndex + i].rotation; array[offset] = spriteRotation; @@ -342,9 +342,9 @@ */ uploadUvs(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var textureUvs = children[startIndex + i]._texture._uvs; + let textureUvs = children[startIndex + i]._texture._uvs; if (textureUvs) { @@ -393,9 +393,9 @@ */ uploadAlpha(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteAlpha = children[startIndex + i].alpha; + let spriteAlpha = children[startIndex + i].alpha; array[offset] = spriteAlpha; array[offset + stride] = spriteAlpha; diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/src/particles/webgl/ParticleRenderer.js b/src/particles/webgl/ParticleRenderer.js index 5f0281a..b416c1c 100644 --- a/src/particles/webgl/ParticleRenderer.js +++ b/src/particles/webgl/ParticleRenderer.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), ParticleShader = require('./ParticleShader'), ParticleBuffer = require('./ParticleBuffer'); @@ -29,7 +29,7 @@ // so max number of particles is 65536 / 4 = 16384 // and max number of element in the index buffer is 16384 * 6 = 98304 // Creating a full index buffer, overhead is 98304 * 2 = 196Ko - // var numIndices = 98304; + // let numIndices = 98304; /** * The default shader that is used if a sprite doesn't have a more specific one. @@ -54,7 +54,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; @@ -118,7 +118,7 @@ */ render(container) { - var children = container.children, + let children = container.children, totalChildren = children.length, maxSize = container._maxSize, batchSize = container._batchSize; @@ -132,7 +132,7 @@ totalChildren = maxSize; } - var buffers = container._glBuffers[this.renderer.CONTEXT_UID]; + let buffers = container._glBuffers[this.renderer.CONTEXT_UID]; if(!buffers) { @@ -142,29 +142,29 @@ // if the uvs have not updated then no point rendering just yet! this.renderer.setBlendMode(container.blendMode); - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var m = container.worldTransform.copy( this.tempMatrix ); + let m = container.worldTransform.copy( this.tempMatrix ); m.prepend( this.renderer._activeRenderTarget.projectionMatrix ); this.shader.uniforms.projectionMatrix = m.toArray(true); this.shader.uniforms.uAlpha = container.worldAlpha; // make sure the texture is bound.. - var baseTexture = children[0]._texture.baseTexture; + let baseTexture = children[0]._texture.baseTexture; this.renderer.bindTexture(baseTexture); // now lets upload and render the buffers.. - for (var i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) + for (let i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) { - var amount = ( totalChildren - i); + let amount = ( totalChildren - i); if(amount > batchSize) { amount = batchSize; } - var buffer = buffers[j]; + let buffer = buffers[j]; // we always upload the dynamic buffer.uploadDynamic(children, i, amount); @@ -194,7 +194,7 @@ */ generateBuffers(container) { - var gl = this.renderer.gl, + let gl = this.renderer.gl, buffers = [], size = container._maxSize, batchSize = container._batchSize, @@ -221,7 +221,7 @@ */ uploadVertices(children, startIndex, amount, array, stride, offset) { - var sprite, + let sprite, texture, trim, orig, @@ -229,7 +229,7 @@ sy, w0, w1, h0, h1; - for (var i = 0; i < amount; i++) { + for (let i = 0; i < amount; i++) { sprite = children[startIndex + i]; texture = sprite._texture; @@ -285,9 +285,9 @@ */ uploadPosition(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spritePosition = children[startIndex + i].position; + let spritePosition = children[startIndex + i].position; array[offset] = spritePosition.x; array[offset + 1] = spritePosition.y; @@ -317,9 +317,9 @@ */ uploadRotation(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteRotation = children[startIndex + i].rotation; + let spriteRotation = children[startIndex + i].rotation; array[offset] = spriteRotation; @@ -342,9 +342,9 @@ */ uploadUvs(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var textureUvs = children[startIndex + i]._texture._uvs; + let textureUvs = children[startIndex + i]._texture._uvs; if (textureUvs) { @@ -393,9 +393,9 @@ */ uploadAlpha(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteAlpha = children[startIndex + i].alpha; + let spriteAlpha = children[startIndex + i].alpha; array[offset] = spriteAlpha; array[offset + stride] = spriteAlpha; diff --git a/src/particles/webgl/ParticleShader.js b/src/particles/webgl/ParticleShader.js index 12eefb7..684413b 100644 --- a/src/particles/webgl/ParticleShader.js +++ b/src/particles/webgl/ParticleShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/src/particles/webgl/ParticleRenderer.js b/src/particles/webgl/ParticleRenderer.js index 5f0281a..b416c1c 100644 --- a/src/particles/webgl/ParticleRenderer.js +++ b/src/particles/webgl/ParticleRenderer.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), ParticleShader = require('./ParticleShader'), ParticleBuffer = require('./ParticleBuffer'); @@ -29,7 +29,7 @@ // so max number of particles is 65536 / 4 = 16384 // and max number of element in the index buffer is 16384 * 6 = 98304 // Creating a full index buffer, overhead is 98304 * 2 = 196Ko - // var numIndices = 98304; + // let numIndices = 98304; /** * The default shader that is used if a sprite doesn't have a more specific one. @@ -54,7 +54,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; @@ -118,7 +118,7 @@ */ render(container) { - var children = container.children, + let children = container.children, totalChildren = children.length, maxSize = container._maxSize, batchSize = container._batchSize; @@ -132,7 +132,7 @@ totalChildren = maxSize; } - var buffers = container._glBuffers[this.renderer.CONTEXT_UID]; + let buffers = container._glBuffers[this.renderer.CONTEXT_UID]; if(!buffers) { @@ -142,29 +142,29 @@ // if the uvs have not updated then no point rendering just yet! this.renderer.setBlendMode(container.blendMode); - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var m = container.worldTransform.copy( this.tempMatrix ); + let m = container.worldTransform.copy( this.tempMatrix ); m.prepend( this.renderer._activeRenderTarget.projectionMatrix ); this.shader.uniforms.projectionMatrix = m.toArray(true); this.shader.uniforms.uAlpha = container.worldAlpha; // make sure the texture is bound.. - var baseTexture = children[0]._texture.baseTexture; + let baseTexture = children[0]._texture.baseTexture; this.renderer.bindTexture(baseTexture); // now lets upload and render the buffers.. - for (var i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) + for (let i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) { - var amount = ( totalChildren - i); + let amount = ( totalChildren - i); if(amount > batchSize) { amount = batchSize; } - var buffer = buffers[j]; + let buffer = buffers[j]; // we always upload the dynamic buffer.uploadDynamic(children, i, amount); @@ -194,7 +194,7 @@ */ generateBuffers(container) { - var gl = this.renderer.gl, + let gl = this.renderer.gl, buffers = [], size = container._maxSize, batchSize = container._batchSize, @@ -221,7 +221,7 @@ */ uploadVertices(children, startIndex, amount, array, stride, offset) { - var sprite, + let sprite, texture, trim, orig, @@ -229,7 +229,7 @@ sy, w0, w1, h0, h1; - for (var i = 0; i < amount; i++) { + for (let i = 0; i < amount; i++) { sprite = children[startIndex + i]; texture = sprite._texture; @@ -285,9 +285,9 @@ */ uploadPosition(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spritePosition = children[startIndex + i].position; + let spritePosition = children[startIndex + i].position; array[offset] = spritePosition.x; array[offset + 1] = spritePosition.y; @@ -317,9 +317,9 @@ */ uploadRotation(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteRotation = children[startIndex + i].rotation; + let spriteRotation = children[startIndex + i].rotation; array[offset] = spriteRotation; @@ -342,9 +342,9 @@ */ uploadUvs(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var textureUvs = children[startIndex + i]._texture._uvs; + let textureUvs = children[startIndex + i]._texture._uvs; if (textureUvs) { @@ -393,9 +393,9 @@ */ uploadAlpha(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteAlpha = children[startIndex + i].alpha; + let spriteAlpha = children[startIndex + i].alpha; array[offset] = spriteAlpha; array[offset + stride] = spriteAlpha; diff --git a/src/particles/webgl/ParticleShader.js b/src/particles/webgl/ParticleShader.js index 12eefb7..684413b 100644 --- a/src/particles/webgl/ParticleShader.js +++ b/src/particles/webgl/ParticleShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/polyfill/requestAnimationFrame.js b/src/polyfill/requestAnimationFrame.js index 980a397..20ef06f 100644 --- a/src/polyfill/requestAnimationFrame.js +++ b/src/polyfill/requestAnimationFrame.js @@ -18,7 +18,7 @@ // performance.now if (!(global.performance && global.performance.now)) { - var startTime = Date.now(); + let startTime = Date.now(); if (!global.performance) { global.performance = {}; } @@ -28,10 +28,10 @@ } // requestAnimationFrame -var lastTime = Date.now(); -var vendors = ['ms', 'moz', 'webkit', 'o']; +let lastTime = Date.now(); +let vendors = ['ms', 'moz', 'webkit', 'o']; -for(var x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { +for(let x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { global.requestAnimationFrame = global[vendors[x] + 'RequestAnimationFrame']; global.cancelAnimationFrame = global[vendors[x] + 'CancelAnimationFrame'] || global[vendors[x] + 'CancelRequestAnimationFrame']; @@ -43,7 +43,7 @@ throw new TypeError(callback + 'is not a function'); } - var currentTime = Date.now(), + let currentTime = Date.now(), delay = 16 + lastTime - currentTime; if (delay < 0) { diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/src/particles/webgl/ParticleRenderer.js b/src/particles/webgl/ParticleRenderer.js index 5f0281a..b416c1c 100644 --- a/src/particles/webgl/ParticleRenderer.js +++ b/src/particles/webgl/ParticleRenderer.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), ParticleShader = require('./ParticleShader'), ParticleBuffer = require('./ParticleBuffer'); @@ -29,7 +29,7 @@ // so max number of particles is 65536 / 4 = 16384 // and max number of element in the index buffer is 16384 * 6 = 98304 // Creating a full index buffer, overhead is 98304 * 2 = 196Ko - // var numIndices = 98304; + // let numIndices = 98304; /** * The default shader that is used if a sprite doesn't have a more specific one. @@ -54,7 +54,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; @@ -118,7 +118,7 @@ */ render(container) { - var children = container.children, + let children = container.children, totalChildren = children.length, maxSize = container._maxSize, batchSize = container._batchSize; @@ -132,7 +132,7 @@ totalChildren = maxSize; } - var buffers = container._glBuffers[this.renderer.CONTEXT_UID]; + let buffers = container._glBuffers[this.renderer.CONTEXT_UID]; if(!buffers) { @@ -142,29 +142,29 @@ // if the uvs have not updated then no point rendering just yet! this.renderer.setBlendMode(container.blendMode); - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var m = container.worldTransform.copy( this.tempMatrix ); + let m = container.worldTransform.copy( this.tempMatrix ); m.prepend( this.renderer._activeRenderTarget.projectionMatrix ); this.shader.uniforms.projectionMatrix = m.toArray(true); this.shader.uniforms.uAlpha = container.worldAlpha; // make sure the texture is bound.. - var baseTexture = children[0]._texture.baseTexture; + let baseTexture = children[0]._texture.baseTexture; this.renderer.bindTexture(baseTexture); // now lets upload and render the buffers.. - for (var i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) + for (let i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) { - var amount = ( totalChildren - i); + let amount = ( totalChildren - i); if(amount > batchSize) { amount = batchSize; } - var buffer = buffers[j]; + let buffer = buffers[j]; // we always upload the dynamic buffer.uploadDynamic(children, i, amount); @@ -194,7 +194,7 @@ */ generateBuffers(container) { - var gl = this.renderer.gl, + let gl = this.renderer.gl, buffers = [], size = container._maxSize, batchSize = container._batchSize, @@ -221,7 +221,7 @@ */ uploadVertices(children, startIndex, amount, array, stride, offset) { - var sprite, + let sprite, texture, trim, orig, @@ -229,7 +229,7 @@ sy, w0, w1, h0, h1; - for (var i = 0; i < amount; i++) { + for (let i = 0; i < amount; i++) { sprite = children[startIndex + i]; texture = sprite._texture; @@ -285,9 +285,9 @@ */ uploadPosition(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spritePosition = children[startIndex + i].position; + let spritePosition = children[startIndex + i].position; array[offset] = spritePosition.x; array[offset + 1] = spritePosition.y; @@ -317,9 +317,9 @@ */ uploadRotation(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteRotation = children[startIndex + i].rotation; + let spriteRotation = children[startIndex + i].rotation; array[offset] = spriteRotation; @@ -342,9 +342,9 @@ */ uploadUvs(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var textureUvs = children[startIndex + i]._texture._uvs; + let textureUvs = children[startIndex + i]._texture._uvs; if (textureUvs) { @@ -393,9 +393,9 @@ */ uploadAlpha(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteAlpha = children[startIndex + i].alpha; + let spriteAlpha = children[startIndex + i].alpha; array[offset] = spriteAlpha; array[offset + stride] = spriteAlpha; diff --git a/src/particles/webgl/ParticleShader.js b/src/particles/webgl/ParticleShader.js index 12eefb7..684413b 100644 --- a/src/particles/webgl/ParticleShader.js +++ b/src/particles/webgl/ParticleShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/polyfill/requestAnimationFrame.js b/src/polyfill/requestAnimationFrame.js index 980a397..20ef06f 100644 --- a/src/polyfill/requestAnimationFrame.js +++ b/src/polyfill/requestAnimationFrame.js @@ -18,7 +18,7 @@ // performance.now if (!(global.performance && global.performance.now)) { - var startTime = Date.now(); + let startTime = Date.now(); if (!global.performance) { global.performance = {}; } @@ -28,10 +28,10 @@ } // requestAnimationFrame -var lastTime = Date.now(); -var vendors = ['ms', 'moz', 'webkit', 'o']; +let lastTime = Date.now(); +let vendors = ['ms', 'moz', 'webkit', 'o']; -for(var x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { +for(let x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { global.requestAnimationFrame = global[vendors[x] + 'RequestAnimationFrame']; global.cancelAnimationFrame = global[vendors[x] + 'CancelAnimationFrame'] || global[vendors[x] + 'CancelRequestAnimationFrame']; @@ -43,7 +43,7 @@ throw new TypeError(callback + 'is not a function'); } - var currentTime = Date.now(), + let currentTime = Date.now(), delay = 16 + lastTime - currentTime; if (delay < 0) { diff --git a/src/prepare/canvas/CanvasPrepare.js b/src/prepare/canvas/CanvasPrepare.js index 1bdf6c0..b8a3682 100644 --- a/src/prepare/canvas/CanvasPrepare.js +++ b/src/prepare/canvas/CanvasPrepare.js @@ -1,4 +1,4 @@ -var core = require('../../core'); +let core = require('../../core'); /** * Prepare uploads elements to the GPU. The CanvasRenderer version of prepare diff --git a/.jshintrc b/.jshintrc index 72e96c5..6b7659f 100644 --- a/.jshintrc +++ b/.jshintrc @@ -36,8 +36,9 @@ "maxlen" : 220, // Require that all lines are 100 characters or less. "esversion" : 6, // ECMAScript 2015 syntax allowed "globals" : { // Register globals that are used in the code. - "performance": false // Depends on polyfill, simplifies usage + "performance": false // Depends on polyfill, simplifies usage }, + "varstmt" : true, // Disallow the usage of "var" // == Relaxing Options ================================================ // diff --git a/src/accessibility/AccessibilityManager.js b/src/accessibility/AccessibilityManager.js index 35d66dc..021325d 100644 --- a/src/accessibility/AccessibilityManager.js +++ b/src/accessibility/AccessibilityManager.js @@ -1,5 +1,5 @@ -var core = require('../core'); -var Device = require('ismobilejs'); +let core = require('../core'); +let Device = require('ismobilejs'); // add some extra variables to the container.. Object.assign( @@ -24,7 +24,7 @@ } // first we create a div that will sit over the pixi element. This is where the div overlays will go. - var div = document.createElement('div'); + let div = document.createElement('div'); div.style.width = 100 + 'px'; div.style.height = 100 + 'px'; @@ -103,7 +103,7 @@ createTouchHook() { - var hookDiv = document.createElement('button'); + let hookDiv = document.createElement('button'); hookDiv.style.width = 1 + 'px'; hookDiv.style.height = 1 + 'px'; hookDiv.style.position = 'absolute'; @@ -197,9 +197,9 @@ displayObject.renderId = this.renderId; } - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length - 1; i >= 0; i--) { + for (let i = children.length - 1; i >= 0; i--) { this.updateAccessibleObjects(children[i]); } @@ -219,21 +219,21 @@ // update children... this.updateAccessibleObjects(this.renderer._lastObjectRendered); - var rect = this.renderer.view.getBoundingClientRect(); - var sx = rect.width / this.renderer.width; - var sy = rect.height / this.renderer.height; + let rect = this.renderer.view.getBoundingClientRect(); + let sx = rect.width / this.renderer.width; + let sy = rect.height / this.renderer.height; - var div = this.div; + let div = this.div; div.style.left = rect.left + 'px'; div.style.top = rect.top + 'px'; div.style.width = this.renderer.width + 'px'; div.style.height = this.renderer.height + 'px'; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; if(child.renderId !== this.renderId) { @@ -255,8 +255,8 @@ { // map div to display.. div = child._accessibleDiv; - var hitArea = child.hitArea; - var wt = child.worldTransform; + let hitArea = child.hitArea; + let wt = child.worldTransform; if(child.hitArea) { @@ -319,7 +319,7 @@ { // this.activate(); - var div = this.pool.pop(); + let div = this.pool.pop(); if(!div) { @@ -373,7 +373,7 @@ */ _onClick(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'click', interactionManager.eventData); } @@ -383,7 +383,7 @@ */ _onFocus(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseover', interactionManager.eventData); } @@ -393,7 +393,7 @@ */ _onFocusOut(e) { - var interactionManager = this.renderer.plugins.interaction; + let interactionManager = this.renderer.plugins.interaction; interactionManager.dispatchEvent(e.target.displayObject, 'mouseout', interactionManager.eventData); } @@ -431,7 +431,7 @@ { this.div = null; - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { this.children[i].div = null; } diff --git a/src/accessibility/accessibleTarget.js b/src/accessibility/accessibleTarget.js index d37a9b4..b6f5aba 100644 --- a/src/accessibility/accessibleTarget.js +++ b/src/accessibility/accessibleTarget.js @@ -12,7 +12,7 @@ * PIXI.accessibility.accessibleTarget * ); */ -var accessibleTarget = { +let accessibleTarget = { /** * Flag for if the object is accessible. If true AccessibilityManager will overlay a diff --git a/src/core/Shader.js b/src/core/Shader.js index 5a0800a..7b60603 100644 --- a/src/core/Shader.js +++ b/src/core/Shader.js @@ -1,10 +1,10 @@ -var GLShader = require('pixi-gl-core').GLShader; -var Const = require('./const'); +let GLShader = require('pixi-gl-core').GLShader; +let Const = require('./const'); function checkPrecision(src) { if (src instanceof Array) { if (src[0].substring(0,9) !== 'precision') { - var copy = src.slice(0); + let copy = src.slice(0); copy.unshift('precision ' + Const.PRECISION.DEFAULT + ' float;'); return copy; } diff --git a/src/core/const.js b/src/core/const.js index 8ba9a4c..27b0bee 100644 --- a/src/core/const.js +++ b/src/core/const.js @@ -4,7 +4,7 @@ * * @lends PIXI */ -var CONST = { +let CONST = { /** * String of the current PIXI version. * diff --git a/src/core/display/Bounds.js b/src/core/display/Bounds.js index f9235aa..a8e442d 100644 --- a/src/core/display/Bounds.js +++ b/src/core/display/Bounds.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Rectangle = math.Rectangle; /** @@ -95,10 +95,10 @@ */ addQuad(vertices) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = vertices[0]; - var y = vertices[1]; + let x = vertices[0]; + let y = vertices[1]; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -141,12 +141,12 @@ */ addFrame(transform, x0, y0, x1, y1) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - var x = a * x0 + c * y0 + tx; - var y = b * x0 + d * y0 + ty; + let x = a * x0 + c * y0 + tx; + let y = b * x0 + d * y0 + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; maxX = x > maxX ? x : maxX; @@ -188,15 +188,15 @@ */ addVertices(transform, vertices, beginOffset, endOffset) { - var matrix = transform.worldTransform; - var a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let matrix = transform.worldTransform; + let a = matrix.a, b = matrix.b, c = matrix.c, d = matrix.d, tx = matrix.tx, ty = matrix.ty; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; - for (var i = beginOffset; i < endOffset; i += 2) + for (let i = beginOffset; i < endOffset; i += 2) { - var rawX = vertices[i], rawY = vertices[i + 1]; - var x = (a * rawX) + (c * rawY) + tx; - var y = (d * rawY) + (b * rawX) + ty; + let rawX = vertices[i], rawY = vertices[i + 1]; + let x = (a * rawX) + (c * rawY) + tx; + let y = (d * rawY) + (b * rawX) + ty; minX = x < minX ? x : minX; minY = y < minY ? y : minY; @@ -212,7 +212,7 @@ addBounds(bounds) { - var minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; + let minX = this.minX, minY = this.minY, maxX = this.maxX, maxY = this.maxY; this.minX = bounds.minX < minX ? bounds.minX : minX; this.minY = bounds.minY < minY ? bounds.minY : minY; diff --git a/src/core/display/Container.js b/src/core/display/Container.js index 31ba184..d7e6a1d 100644 --- a/src/core/display/Container.js +++ b/src/core/display/Container.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), DisplayObject = require('./DisplayObject'); /** @@ -6,7 +6,7 @@ * It is the base class of all display objects that act as a container for other objects. * *```js - * var container = new PIXI.Container(); + * let container = new PIXI.Container(); * container.addChild(sprite); * ``` * @class @@ -43,14 +43,14 @@ */ addChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.addChild( arguments[i] ); } @@ -123,8 +123,8 @@ return; } - var index1 = this.getChildIndex(child); - var index2 = this.getChildIndex(child2); + let index1 = this.getChildIndex(child); + let index2 = this.getChildIndex(child2); if (index1 < 0 || index2 < 0) { @@ -144,7 +144,7 @@ */ getChildIndex(child) { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -167,7 +167,7 @@ throw new Error('The supplied index is out of bounds'); } - var currentIndex = this.getChildIndex(child); + let currentIndex = this.getChildIndex(child); utils.removeItems(this.children, currentIndex, 1); // remove from old position this.children.splice(index, 0, child); //add at new position @@ -198,21 +198,21 @@ */ removeChild(child) { - var argumentsLength = arguments.length; + let argumentsLength = arguments.length; // if there is only one argument we can bypass looping through the them if(argumentsLength > 1) { // loop through the arguments property and add all children // use it the right way (.length and [i]) so that this function can still be optimised by JS runtimes - for (var i = 0; i < argumentsLength; i++) + for (let i = 0; i < argumentsLength; i++) { this.removeChild( arguments[i] ); } } else { - var index = this.children.indexOf(child); + let index = this.children.indexOf(child); if (index === -1) { @@ -238,7 +238,7 @@ */ removeChildAt(index) { - var child = this.getChildAt(index); + let child = this.getChildAt(index); child.parent = null; utils.removeItems(this.children, index, 1); @@ -258,10 +258,10 @@ */ removeChildren(beginIndex, endIndex) { - var begin = beginIndex || 0; - var end = typeof endIndex === 'number' ? endIndex : this.children.length; - var range = end - begin; - var removed, i; + let begin = beginIndex || 0; + let end = typeof endIndex === 'number' ? endIndex : this.children.length; + let range = end - begin; + let removed, i; if (range > 0 && range <= end) { @@ -310,7 +310,7 @@ //TODO: check render flags, how to process stuff here this.worldAlpha = this.alpha * this.parent.worldAlpha; - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].updateTransform(); } @@ -327,9 +327,9 @@ this._calculateBounds(); - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { - var child = this.children[i]; + let child = this.children[i]; child.calculateBounds(); @@ -370,7 +370,7 @@ this._renderWebGL(renderer); // simple render children! - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderWebGL(renderer); } @@ -381,9 +381,9 @@ { renderer.currentRenderer.flush(); - var filters = this._filters; - var mask = this._mask; - var i, j; + let filters = this._filters; + let mask = this._mask; + let i, j; // push filter first as we need to ensure the stencil buffer is correct for any masking if ( filters ) @@ -481,7 +481,7 @@ } this._renderCanvas(renderer); - for (var i = 0, j = this.children.length; i < j; ++i) + for (let i = 0, j = this.children.length; i < j; ++i) { this.children[i].renderCanvas(renderer); } @@ -503,16 +503,16 @@ { super.destroy(); - var destroyChildren = typeof options === 'boolean' ? options : options && options.children; + let destroyChildren = typeof options === 'boolean' ? options : options && options.children; - var oldChildren = this.children; + let oldChildren = this.children; this.children = null; if (destroyChildren) { - for (var i = oldChildren.length - 1; i >= 0; i--) + for (let i = oldChildren.length - 1; i >= 0; i--) { - var child = oldChildren[i]; + let child = oldChildren[i]; child.parent = null; child.destroy(options); } @@ -538,7 +538,7 @@ set: function (value) { - var width = this.getLocalBounds().width; + let width = this.getLocalBounds().width; if (width !== 0) { @@ -568,7 +568,7 @@ set: function (value) { - var height = this.getLocalBounds().height; + let height = this.getLocalBounds().height; if (height !== 0) { diff --git a/src/core/display/DisplayObject.js b/src/core/display/DisplayObject.js index db2ce33..401d42e 100644 --- a/src/core/display/DisplayObject.js +++ b/src/core/display/DisplayObject.js @@ -1,4 +1,4 @@ -var EventEmitter = require('eventemitter3'), +let EventEmitter = require('eventemitter3'), CONST = require('../const'), TransformStatic = require('./TransformStatic'), Transform = require('./Transform'), @@ -20,7 +20,7 @@ { super(); - var TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; + let TransformClass = CONST.TRANSFORM_MODE.DEFAULT === CONST.TRANSFORM_MODE.STATIC ? TransformStatic : Transform; this.tempDisplayObjectParent = null; @@ -196,8 +196,8 @@ */ getLocalBounds(rect) { - var transformRef = this.transform; - var parentRef = this.parent; + let transformRef = this.transform; + let parentRef = this.parent; this.parent = null; this.transform = this._tempDisplayObjectParent.transform; @@ -212,7 +212,7 @@ rect = this._localBoundsRect; } - var bounds = this.getBounds(false, rect); + let bounds = this.getBounds(false, rect); this.parent = parentRef; this.transform = transformRef; @@ -543,7 +543,7 @@ worldVisible: { get: function () { - var item = this; + let item = this; do { if (!item.visible) diff --git a/src/core/display/Transform.js b/src/core/display/Transform.js index 6d2f98c..9159bb6 100644 --- a/src/core/display/Transform.js +++ b/src/core/display/Transform.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); @@ -71,8 +71,8 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; - var a, b, c, d; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; @@ -92,10 +92,10 @@ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; - var a, b, c, d; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; + let a, b, c, d; a = this._cr * this.scale.x; b = this._sr * this.scale.x; diff --git a/src/core/display/TransformBase.js b/src/core/display/TransformBase.js index 64824df..f696b2f 100644 --- a/src/core/display/TransformBase.js +++ b/src/core/display/TransformBase.js @@ -1,4 +1,4 @@ -var math = require('../math'); +let math = require('../math'); /** @@ -40,9 +40,9 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; // concat the parent matrix with the objects transform. wt.a = lt.a * pt.a + lt.b * pt.c; diff --git a/src/core/display/TransformStatic.js b/src/core/display/TransformStatic.js index c30e789..d6486c9 100644 --- a/src/core/display/TransformStatic.js +++ b/src/core/display/TransformStatic.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), TransformBase = require('./TransformBase'); /** @@ -72,11 +72,11 @@ * Updates only local matrix */ updateLocalTransform() { - var lt = this.localTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; @@ -104,14 +104,14 @@ */ updateTransform(parentTransform) { - var pt = parentTransform.worldTransform; - var wt = this.worldTransform; - var lt = this.localTransform; + let pt = parentTransform.worldTransform; + let wt = this.worldTransform; + let lt = this.localTransform; if(this._localID !== this._currentLocalID) { // get the matrix values of the displayobject based on its transform properties.. - var a,b,c,d; + let a,b,c,d; a = this._cr * this.scale._x; b = this._sr * this.scale._x; diff --git a/src/core/graphics/Graphics.js b/src/core/graphics/Graphics.js index 98cbfca..32463a4 100644 --- a/src/core/graphics/Graphics.js +++ b/src/core/graphics/Graphics.js @@ -1,4 +1,4 @@ -var Container = require('../display/Container'), +let Container = require('../display/Container'), RenderTexture = require('../textures/RenderTexture'), Texture = require('../textures/Texture'), GraphicsData = require('./GraphicsData'), @@ -186,7 +186,7 @@ */ clone() { - var clone = new Graphics(); + let clone = new Graphics(); clone.renderable = this.renderable; clone.fillAlpha = this.fillAlpha; @@ -200,7 +200,7 @@ clone.cachedSpriteDirty = this.cachedSpriteDirty; // copy graphics data - for (var i = 0; i < this.graphicsData.length; ++i) + for (let i = 0; i < this.graphicsData.length; ++i) { clone.graphicsData.push(this.graphicsData[i].clone()); } @@ -231,7 +231,7 @@ if (this.currentPath.shape.points.length) { // halfway through a line? start a new one! - var shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); + let shape = new math.Polygon(this.currentPath.shape.points.slice(-2)); shape.closed = false; this.drawShape(shape); } @@ -256,7 +256,7 @@ */ moveTo(x, y) { - var shape = new math.Polygon([x,y]); + let shape = new math.Polygon([x,y]); shape.closed = false; this.drawShape(shape); @@ -304,7 +304,7 @@ } - var xa, + let xa, ya, n = 20, points = this.currentPath.shape.points; @@ -314,11 +314,11 @@ this.moveTo(0, 0); } - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; - var j = 0; - for (var i = 1; i <= n; ++i) + let j = 0; + for (let i = 1; i <= n; ++i) { j = i / n; @@ -359,10 +359,10 @@ this.moveTo(0,0); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var fromX = points[points.length-2]; - var fromY = points[points.length-1]; + let fromX = points[points.length-2]; + let fromY = points[points.length-1]; points.length -= 2; @@ -399,7 +399,7 @@ this.moveTo(x1, y1); } - var points = this.currentPath.shape.points, + let points = this.currentPath.shape.points, fromX = points[points.length-2], fromY = points[points.length-1], a1 = fromY - y1, @@ -417,7 +417,7 @@ } else { - var dd = a1 * a1 + b1 * b1, + let dd = a1 * a1 + b1 * b1, cc = a2 * a2 + b2 * b2, tt = a1 * a2 + b1 * b2, k1 = radius * Math.sqrt(dd) / mm, @@ -470,16 +470,16 @@ startAngle += Math.PI * 2; } - var sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); - var segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; + let sweep = anticlockwise ? (startAngle - endAngle) * -1 : (endAngle - startAngle); + let segs = Math.ceil(Math.abs(sweep) / (Math.PI * 2)) * 40; if(sweep === 0) { return this; } - var startX = cx + Math.cos(startAngle) * radius; - var startY = cy + Math.sin(startAngle) * radius; + let startX = cx + Math.cos(startAngle) * radius; + let startY = cy + Math.sin(startAngle) * radius; if (this.currentPath) { @@ -490,27 +490,27 @@ this.moveTo(startX, startY); } - var points = this.currentPath.shape.points; + let points = this.currentPath.shape.points; - var theta = sweep/(segs*2); - var theta2 = theta*2; + let theta = sweep/(segs*2); + let theta2 = theta*2; - var cTheta = Math.cos(theta); - var sTheta = Math.sin(theta); + let cTheta = Math.cos(theta); + let sTheta = Math.sin(theta); - var segMinus = segs - 1; + let segMinus = segs - 1; - var remainder = ( segMinus % 1 ) / segMinus; + let remainder = ( segMinus % 1 ) / segMinus; - for(var i=0; i<=segMinus; i++) + for(let i=0; i<=segMinus; i++) { - var real = i + remainder * i; + let real = i + remainder * i; - var angle = ((theta) + startAngle + (theta2 * real)); + let angle = ((theta) + startAngle + (theta2 * real)); - var c = Math.cos(angle); - var s = -Math.sin(angle); + let c = Math.cos(angle); + let s = -Math.sin(angle); points.push(( (cTheta * c) + (sTheta * s) ) * radius + cx, ( (cTheta * -s) + (sTheta * c) ) * radius + cy); @@ -633,9 +633,9 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = path; + let points = path; - var closed = true; + let closed = true; if (points instanceof math.Polygon) { @@ -649,13 +649,13 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var i = 0; i < points.length; ++i) + for (let i = 0; i < points.length; ++i) { points[i] = arguments[i]; } } - var shape = new math.Polygon(points); + let shape = new math.Polygon(points); shape.closed = closed; this.drawShape(shape); @@ -718,14 +718,14 @@ _renderSpriteRect(renderer) { - var rect = this.graphicsData[0].shape; + let rect = this.graphicsData[0].shape; if(!this._spriteRect) { if(!Graphics._SPRITE_TEXTURE) { Graphics._SPRITE_TEXTURE = RenderTexture.create(10, 10); - var currentRenderTarget = renderer._activeRenderTarget; + let currentRenderTarget = renderer._activeRenderTarget; renderer.bindRenderTexture(Graphics._SPRITE_TEXTURE); renderer.clear([1,1,1,1]); renderer.bindRenderTarget(currentRenderTarget); @@ -736,8 +736,8 @@ if (this.tint === 0xffffff) { this._spriteRect.tint = this.graphicsData[0].fillColor; } else { - var t1 = tempColor1; - var t2 = tempColor2; + let t1 = tempColor1; + let t2 = tempColor2; utils.hex2rgb(this.graphicsData[0].fillColor, t1); utils.hex2rgb(this.tint, t2); t1[0] *= t2[0]; @@ -798,7 +798,7 @@ this.cachedSpriteDirty = true; } - var lb = this._localBounds; + let lb = this._localBounds; this._bounds.addFrame(this.transform, lb.minX, lb.minY, lb.maxX, lb.maxY); } @@ -812,11 +812,11 @@ { this.worldTransform.applyInverse(point, tempPoint); - var graphicsData = this.graphicsData; + let graphicsData = this.graphicsData; - for (var i = 0; i < graphicsData.length; i++) + for (let i = 0; i < graphicsData.length; i++) { - var data = graphicsData[i]; + let data = graphicsData[i]; if (!data.fill) { @@ -842,21 +842,21 @@ */ updateLocalBounds() { - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; if (this.graphicsData.length) { - var shape, points, x, y, w, h; + let shape, points, x, y, w, h; - for (var i = 0; i < this.graphicsData.length; i++) + for (let i = 0; i < this.graphicsData.length; i++) { - var data = this.graphicsData[i]; - var type = data.type; - var lineWidth = data.lineWidth; + let data = this.graphicsData[i]; + let type = data.type; + let lineWidth = data.lineWidth; shape = data.shape; if (type === CONST.SHAPES.RECT || type === CONST.SHAPES.RREC) @@ -903,7 +903,7 @@ // POLY points = shape.points; - for (var j = 0; j < points.length; j += 2) + for (let j = 0; j < points.length; j += 2) { x = points[j]; y = points[j+1]; @@ -925,7 +925,7 @@ maxY = 0; } - var padding = this.boundsPadding; + let padding = this.boundsPadding; this._localBounds.minX = minX - padding; this._localBounds.maxX = maxX + padding * 2; @@ -954,7 +954,7 @@ this.currentPath = null; - var data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); + let data = new GraphicsData(this.lineWidth, this.lineColor, this.lineAlpha, this.fillColor, this.fillAlpha, this.filling, shape); this.graphicsData.push(data); @@ -973,9 +973,9 @@ { resolution = resolution || 1; - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); + let canvasBuffer = new RenderTexture.create(bounds.width * resolution, bounds.height * resolution); if(!canvasRenderer) { @@ -987,7 +987,7 @@ canvasRenderer.render(this, canvasBuffer, false, tempMatrix); - var texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); + let texture = Texture.fromCanvas(canvasBuffer.baseTexture._canvasRenderTarget.canvas, scaleMode); texture.baseTexture.resolution = resolution; return texture; @@ -996,7 +996,7 @@ closePath() { // ok so close path assumes next one is a hole! - var currentPath = this.currentPath; + let currentPath = this.currentPath; if (currentPath && currentPath.shape) { currentPath.shape.close(); @@ -1007,7 +1007,7 @@ addHole() { // this is a hole! - var hole = this.graphicsData.pop(); + let hole = this.graphicsData.pop(); this.currentPath = this.graphicsData[this.graphicsData.length-1]; @@ -1025,13 +1025,13 @@ super.destroy(arguments); // destroy each of the GraphicsData objects - for (var i = 0; i < this.graphicsData.length; ++i) { + for (let i = 0; i < this.graphicsData.length; ++i) { this.graphicsData[i].destroy(); } // for each webgl data entry, destroy the WebGLGraphicsData - for (var id in this._webgl) { - for (var j = 0; j < this._webgl[id].data.length; ++j) { + for (let id in this._webgl) { + for (let j = 0; j < this._webgl[id].data.length; ++j) { this._webgl[id].data[j].destroy(); } } diff --git a/src/core/graphics/canvas/CanvasGraphicsRenderer.js b/src/core/graphics/canvas/CanvasGraphicsRenderer.js index f41190e..b5785d2 100644 --- a/src/core/graphics/canvas/CanvasGraphicsRenderer.js +++ b/src/core/graphics/canvas/CanvasGraphicsRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'); /** @@ -35,11 +35,11 @@ */ render(graphics) { - var renderer = this.renderer; - var context = renderer.context; - var worldAlpha = graphics.worldAlpha; - var transform = graphics.transform.worldTransform; - var resolution = renderer.resolution; + let renderer = this.renderer; + let context = renderer.context; + let worldAlpha = graphics.worldAlpha; + let transform = graphics.transform.worldTransform; + let resolution = renderer.resolution; // if the tint has changed, set the graphics object to dirty. if (this._prevTint !== this.tint) { @@ -64,13 +64,13 @@ renderer.setBlendMode(graphics.blendMode); - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; - var fillColor = data._fillTint; - var lineColor = data._lineTint; + let fillColor = data._fillTint; + let lineColor = data._lineTint; context.lineWidth = data.lineWidth; @@ -80,9 +80,9 @@ this.renderPolygon(shape.points, shape.closed, context); - for (var j = 0; j < data.holes.length; j++) + for (let j = 0; j < data.holes.length; j++) { - var hole = data.holes[j]; + let hole = data.holes[j]; this.renderPolygon(hole.points, true, context); } @@ -141,15 +141,15 @@ { // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; context.beginPath(); - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -180,13 +180,13 @@ } else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.beginPath(); @@ -229,16 +229,16 @@ { graphics._prevTint = graphics.tint; - var tintR = (graphics.tint >> 16 & 0xFF) / 255; - var tintG = (graphics.tint >> 8 & 0xFF) / 255; - var tintB = (graphics.tint & 0xFF)/ 255; + let tintR = (graphics.tint >> 16 & 0xFF) / 255; + let tintG = (graphics.tint >> 8 & 0xFF) / 255; + let tintB = (graphics.tint & 0xFF)/ 255; - for (var i = 0; i < graphics.graphicsData.length; i++) + for (let i = 0; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; - var fillColor = data.fillColor | 0; - var lineColor = data.lineColor | 0; + let fillColor = data.fillColor | 0; + let lineColor = data.lineColor | 0; // super inline cos im an optimization NAZI :) data._fillTint = (((fillColor >> 16 & 0xFF) / 255 * tintR*255 << 16) + ((fillColor >> 8 & 0xFF) / 255 * tintG*255 << 8) + (fillColor & 0xFF) / 255 * tintB*255); @@ -250,7 +250,7 @@ { context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } diff --git a/src/core/graphics/utils/bezierCurveTo.js b/src/core/graphics/utils/bezierCurveTo.js index 4b909e5..2f18868 100644 --- a/src/core/graphics/utils/bezierCurveTo.js +++ b/src/core/graphics/utils/bezierCurveTo.js @@ -16,11 +16,11 @@ * @param [path=number[]] Path array to push points into * @return {PIXI.Graphics} */ -var bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line +let bezierCurveTo = function (fromX, fromY, cpX, cpY, cpX2, cpY2, toX, toY, path) // jshint ignore:line { path = path || []; - var n = 20, + let n = 20, dt, dt2, dt3, @@ -29,9 +29,9 @@ path.push(fromX, fromY); - var j = 0; + let j = 0; - for (var i = 1; i <= n; ++i) + for (let i = 1; i <= n; ++i) { j = i / n; diff --git a/src/core/graphics/webgl/GraphicsRenderer.js b/src/core/graphics/webgl/GraphicsRenderer.js index 19b441c..a4aacd7 100644 --- a/src/core/graphics/webgl/GraphicsRenderer.js +++ b/src/core/graphics/webgl/GraphicsRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), CONST = require('../../const'), ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), @@ -57,7 +57,7 @@ { ObjectRenderer.prototype.destroy.call(this); - for (var i = 0; i < this.graphicsDataPool.length; ++i) { + for (let i = 0; i < this.graphicsDataPool.length; ++i) { this.graphicsDataPool[i].destroy(); } @@ -71,12 +71,12 @@ */ render(graphics) { - var renderer = this.renderer; - var gl = renderer.gl; + let renderer = this.renderer; + let gl = renderer.gl; - var webGLData; + let webGLData; - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; if (!webGL || graphics.dirty !== webGL.dirty ) { @@ -89,14 +89,14 @@ // This could be speeded up for sure! - var shader = this.primitiveShader; + let shader = this.primitiveShader; renderer.bindShader(shader); renderer.state.setBlendMode( graphics.blendMode ); - for (var i = 0, n = webGL.data.length; i < n; i++) + for (let i = 0, n = webGL.data.length; i < n; i++) { webGLData = webGL.data[i]; - var shaderTemp = webGLData.shader; + let shaderTemp = webGLData.shader; renderer.bindShader(shaderTemp); shaderTemp.uniforms.translationMatrix = graphics.transform.worldTransform.toArray(true); @@ -117,10 +117,10 @@ */ updateGraphics(graphics) { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // get the contexts graphics object - var webGL = graphics._webGL[this.CONTEXT_UID]; + let webGL = graphics._webGL[this.CONTEXT_UID]; // if the graphics object does not exist in the webGL context time to create it! if (!webGL) @@ -132,7 +132,7 @@ // flag the graphics as not dirty as we are about to update it... webGL.dirty = graphics.dirty; - var i; + let i; // if the user cleared the graphics object we will need to clear every object if (graphics.clearDirty !== webGL.clearDirty) @@ -142,7 +142,7 @@ // loop through and return all the webGLDatas to the object pool so than can be reused later on for (i = 0; i < webGL.data.length; i++) { - var graphicsData = webGL.data[i]; + let graphicsData = webGL.data[i]; this.graphicsDataPool.push( graphicsData ); } @@ -151,14 +151,14 @@ webGL.lastIndex = 0; } - var webGLData; + let webGLData; // loop through the graphics datas and construct each one.. // if the object is a complex fill then the new stencil buffer technique will be used // other wise graphics objects will be pushed into a batch.. for (i = webGL.lastIndex; i < graphics.graphicsData.length; i++) { - var data = graphics.graphicsData[i]; + let data = graphics.graphicsData[i]; //TODO - this can be simplified webGLData = this.getWebGLData(webGL, 0); @@ -203,7 +203,7 @@ */ getWebGLData(webGL, type) { - var webGLData = webGL.data[webGL.data.length-1]; + let webGLData = webGL.data[webGL.data.length-1]; if (!webGLData || webGLData.points.length > 320000) { diff --git a/src/core/graphics/webgl/WebGLGraphicsData.js b/src/core/graphics/webgl/WebGLGraphicsData.js index 74af989..b228027 100644 --- a/src/core/graphics/webgl/WebGLGraphicsData.js +++ b/src/core/graphics/webgl/WebGLGraphicsData.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); /** diff --git a/src/core/graphics/webgl/shaders/PrimitiveShader.js b/src/core/graphics/webgl/shaders/PrimitiveShader.js index 367ac35..0119d3c 100644 --- a/src/core/graphics/webgl/shaders/PrimitiveShader.js +++ b/src/core/graphics/webgl/shaders/PrimitiveShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../../Shader'); +let Shader = require('../../../Shader'); /** * This shader is used to draw simple primitive shapes for {@link PIXI.Graphics}. diff --git a/src/core/graphics/webgl/utils/buildCircle.js b/src/core/graphics/webgl/utils/buildCircle.js index 05836e1..3e1251d 100644 --- a/src/core/graphics/webgl/utils/buildCircle.js +++ b/src/core/graphics/webgl/utils/buildCircle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), CONST = require('../../../const'), utils = require('../../../utils'); @@ -12,14 +12,14 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object to draw * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildCircle = function (graphicsData, webGLData) +let buildCircle = function (graphicsData, webGLData) { // need to convert points to a nice regular data - var circleData = graphicsData.shape; - var x = circleData.x; - var y = circleData.y; - var width; - var height; + let circleData = graphicsData.shape; + let x = circleData.x; + let y = circleData.y; + let width; + let height; // TODO - bit hacky?? if (graphicsData.type === CONST.SHAPES.CIRC) @@ -33,24 +33,24 @@ height = circleData.height; } - var totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); - var seg = (Math.PI * 2) / totalSegs ; + let totalSegs = Math.floor(30 * Math.sqrt(circleData.radius)) || Math.floor(15 * Math.sqrt(circleData.width + circleData.height)); + let seg = (Math.PI * 2) / totalSegs ; - var i = 0; + let i = 0; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; indices.push(vecPos); @@ -70,7 +70,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = []; diff --git a/src/core/graphics/webgl/utils/buildComplexPoly.js b/src/core/graphics/webgl/utils/buildComplexPoly.js index e97b932..8701929 100644 --- a/src/core/graphics/webgl/utils/buildComplexPoly.js +++ b/src/core/graphics/webgl/utils/buildComplexPoly.js @@ -1,4 +1,4 @@ -var utils = require('../../../utils'); +let utils = require('../../../utils'); @@ -12,10 +12,10 @@ * @param graphicsData {PIXI.Graphics} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildComplexPoly = function (graphicsData, webGLData) +let buildComplexPoly = function (graphicsData, webGLData) { //TODO - no need to copy this as it gets turned into a FLoat32Array anyways.. - var points = graphicsData.points.slice(); + let points = graphicsData.points.slice(); if (points.length < 6) { @@ -23,22 +23,22 @@ } // get first and last point.. figure out the middle! - var indices = webGLData.indices; + let indices = webGLData.indices; webGLData.points = points; webGLData.alpha = graphicsData.fillAlpha; webGLData.color = utils.hex2rgb(graphicsData.fillColor); // calclate the bounds.. - var minX = Infinity; - var maxX = -Infinity; + let minX = Infinity; + let maxX = -Infinity; - var minY = Infinity; - var maxY = -Infinity; + let minY = Infinity; + let maxY = -Infinity; - var x,y; + let x,y; // get size.. - for (var i = 0; i < points.length; i+=2) + for (let i = 0; i < points.length; i+=2) { x = points[i]; y = points[i+1]; @@ -59,8 +59,8 @@ // push a quad onto the end.. //TODO - this aint needed! - var length = points.length / 2; - for (i = 0; i < length; i++) + let length = points.length / 2; + for (let i = 0; i < length; i++) { indices.push( i ); } diff --git a/src/core/graphics/webgl/utils/buildLine.js b/src/core/graphics/webgl/utils/buildLine.js index b31be95..226e7da 100644 --- a/src/core/graphics/webgl/utils/buildLine.js +++ b/src/core/graphics/webgl/utils/buildLine.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), utils = require('../../../utils'); /** @@ -11,11 +11,11 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildLine = function (graphicsData, webGLData) +let buildLine = function (graphicsData, webGLData) { // TODO OPTIMISE! - var i = 0; - var points = graphicsData.points; + let i = 0; + let points = graphicsData.points; if (points.length === 0) { @@ -32,8 +32,8 @@ // } // get first and last point.. figure out the middle! - var firstPoint = new math.Point(points[0], points[1]); - var lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); + let firstPoint = new math.Point(points[0], points[1]); + let lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); // if the first point is the last point - gonna have issues :) if (firstPoint.x === lastPoint.x && firstPoint.y === lastPoint.y) @@ -46,33 +46,33 @@ lastPoint = new math.Point(points[points.length - 2], points[points.length - 1]); - var midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; - var midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; + let midPointX = lastPoint.x + (firstPoint.x - lastPoint.x) *0.5; + let midPointY = lastPoint.y + (firstPoint.y - lastPoint.y) *0.5; points.unshift(midPointX, midPointY); points.push(midPointX, midPointY); } - var verts = webGLData.points; - var indices = webGLData.indices; - var length = points.length / 2; - var indexCount = points.length; - var indexStart = verts.length/6; + let verts = webGLData.points; + let indices = webGLData.indices; + let length = points.length / 2; + let indexCount = points.length; + let indexStart = verts.length/6; // DRAW the Line - var width = graphicsData.lineWidth / 2; + let width = graphicsData.lineWidth / 2; // sort color - var color = utils.hex2rgb(graphicsData.lineColor); - var alpha = graphicsData.lineAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.lineColor); + let alpha = graphicsData.lineAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var px, py, p1x, p1y, p2x, p2y, p3x, p3y; - var perpx, perpy, perp2x, perp2y, perp3x, perp3y; - var a1, b1, c1, a2, b2, c2; - var denom, pdist, dist; + let px, py, p1x, p1y, p2x, p2y, p3x, p3y; + let perpx, perpy, perp2x, perp2y, perp3x, perp3y; + let a1, b1, c1, a2, b2, c2; + let denom, pdist, dist; p1x = points[0]; p1y = points[1]; diff --git a/src/core/graphics/webgl/utils/buildPoly.js b/src/core/graphics/webgl/utils/buildPoly.js index 310267d..f965948 100644 --- a/src/core/graphics/webgl/utils/buildPoly.js +++ b/src/core/graphics/webgl/utils/buildPoly.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'), earcut = require('earcut'); @@ -12,20 +12,20 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildPoly = function (graphicsData, webGLData) +let buildPoly = function (graphicsData, webGLData) { graphicsData.points = graphicsData.shape.points.slice(); - var points = graphicsData.points; + let points = graphicsData.points; if(graphicsData.fill && points.length >= 6) { - var holeArray = []; + let holeArray = []; // Process holes.. - var holes = graphicsData.holes; + let holes = graphicsData.holes; - for (var i = 0; i < holes.length; i++) { - var hole = holes[i]; + for (let i = 0; i < holes.length; i++) { + let hole = holes[i]; holeArray.push(points.length/2); @@ -33,27 +33,27 @@ } // get first and last point.. figure out the middle! - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var length = points.length / 2; + let length = points.length / 2; // sort color - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var triangles = earcut(points, holeArray, 2); + let triangles = earcut(points, holeArray, 2); if (!triangles) { return; } - var vertPos = verts.length / 6; + let vertPos = verts.length / 6; - for (i = 0; i < triangles.length; i+=3) + for (let i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vertPos); indices.push(triangles[i] + vertPos); @@ -62,7 +62,7 @@ indices.push(triangles[i+2] + vertPos); } - for (i = 0; i < length; i++) + for (let i = 0; i < length; i++) { verts.push(points[i * 2], points[i * 2 + 1], r, g, b, alpha); diff --git a/src/core/graphics/webgl/utils/buildRectangle.js b/src/core/graphics/webgl/utils/buildRectangle.js index 05b4e22..addc615 100644 --- a/src/core/graphics/webgl/utils/buildRectangle.js +++ b/src/core/graphics/webgl/utils/buildRectangle.js @@ -1,4 +1,4 @@ -var buildLine = require('./buildLine'), +let buildLine = require('./buildLine'), utils = require('../../../utils'); /** @@ -11,30 +11,30 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRectangle = function (graphicsData, webGLData) +let buildRectangle = function (graphicsData, webGLData) { // --- // // need to convert points to a nice regular data // - var rectData = graphicsData.shape; - var x = rectData.x; - var y = rectData.y; - var width = rectData.width; - var height = rectData.height; + let rectData = graphicsData.shape; + let x = rectData.x; + let y = rectData.y; + let width = rectData.width; + let height = rectData.height; if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vertPos = verts.length/6; + let vertPos = verts.length/6; // start verts.push(x, y); @@ -55,7 +55,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = [x, y, x + width, y, diff --git a/src/core/graphics/webgl/utils/buildRoundedRectangle.js b/src/core/graphics/webgl/utils/buildRoundedRectangle.js index e964aec..f5667ac 100644 --- a/src/core/graphics/webgl/utils/buildRoundedRectangle.js +++ b/src/core/graphics/webgl/utils/buildRoundedRectangle.js @@ -1,4 +1,4 @@ -var earcut = require('earcut'), +let earcut = require('earcut'), buildLine = require('./buildLine'), utils = require('../../../utils'); @@ -12,17 +12,17 @@ * @param graphicsData {PIXI.WebGLGraphicsData} The graphics object containing all the necessary properties * @param webGLData {object} an object containing all the webGL-specific information to create this shape */ -var buildRoundedRectangle = function (graphicsData, webGLData) +let buildRoundedRectangle = function (graphicsData, webGLData) { - var rrectData = graphicsData.shape; - var x = rrectData.x; - var y = rrectData.y; - var width = rrectData.width; - var height = rrectData.height; + let rrectData = graphicsData.shape; + let x = rrectData.x; + let y = rrectData.y; + let width = rrectData.width; + let height = rrectData.height; - var radius = rrectData.radius; + let radius = rrectData.radius; - var recPoints = []; + let recPoints = []; recPoints.push(x, y + radius); quadraticBezierCurve(x, y + height - radius, x, y + height, x + radius, y + height, recPoints); quadraticBezierCurve(x + width - radius, y + height, x + width, y + height, x + width, y + height - radius, recPoints); @@ -34,21 +34,21 @@ if (graphicsData.fill) { - var color = utils.hex2rgb(graphicsData.fillColor); - var alpha = graphicsData.fillAlpha; + let color = utils.hex2rgb(graphicsData.fillColor); + let alpha = graphicsData.fillAlpha; - var r = color[0] * alpha; - var g = color[1] * alpha; - var b = color[2] * alpha; + let r = color[0] * alpha; + let g = color[1] * alpha; + let b = color[2] * alpha; - var verts = webGLData.points; - var indices = webGLData.indices; + let verts = webGLData.points; + let indices = webGLData.indices; - var vecPos = verts.length/6; + let vecPos = verts.length/6; - var triangles = earcut(recPoints, null, 2); + let triangles = earcut(recPoints, null, 2); - var i = 0; + let i = 0; for (i = 0; i < triangles.length; i+=3) { indices.push(triangles[i] + vecPos); @@ -66,7 +66,7 @@ if (graphicsData.lineWidth) { - var tempPoints = graphicsData.points; + let tempPoints = graphicsData.points; graphicsData.points = recPoints; @@ -93,9 +93,9 @@ * @param [out] {number[]} The output array to add points into. If not passed, a new array is created. * @return {number[]} an array of points */ -var quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line +let quadraticBezierCurve = function (fromX, fromY, cpX, cpY, toX, toY, out)// jshint ignore:line { - var xa, + let xa, ya, xb, yb, @@ -105,13 +105,13 @@ points = out || []; function getPt(n1 , n2, perc) { - var diff = n2 - n1; + let diff = n2 - n1; return n1 + ( diff * perc ); } - var j = 0; - for (var i = 0; i <= n; i++ ) { + let j = 0; + for (let i = 0; i <= n; i++ ) { j = i / n; // The Green Line diff --git a/src/core/index.js b/src/core/index.js index f7c10ba..0004416 100644 --- a/src/core/index.js +++ b/src/core/index.js @@ -9,7 +9,7 @@ * @namespace PIXI */ // export core and const. We assign core to const so that the non-reference types in const remain in-tact -var core = module.exports = Object.assign(require('./const'), require('./math'), { +let core = module.exports = Object.assign(require('./const'), require('./math'), { // utils utils: require('./utils'), ticker: require('./ticker'), diff --git a/src/core/math/GroupD8.js b/src/core/math/GroupD8.js index 1edb988..f79c217 100644 --- a/src/core/math/GroupD8.js +++ b/src/core/math/GroupD8.js @@ -1,13 +1,13 @@ // Your friendly neighbour https://en.wikipedia.org/wiki/Dihedral_group of order 16 -var ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; -var uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; -var vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; -var tempMatrices = []; -var Matrix = require('./Matrix'); +let ux = [1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1, 0, 1]; +let uy = [0, 1, 1, 1, 0, -1, -1, -1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vx = [0, -1, -1, -1, 0, 1, 1, 1, 0, 1, 1, 1, 0, -1, -1, -1]; +let vy = [1, 1, 0, -1, -1, -1, 0, 1, -1, -1, 0, 1, 1, 1, 0, -1]; +let tempMatrices = []; +let Matrix = require('./Matrix'); -var mul = []; +let mul = []; function signum(x) { if (x < 0) { @@ -20,15 +20,15 @@ } function init() { - for (var i = 0; i < 16; i++) { - var row = []; + for (let i = 0; i < 16; i++) { + let row = []; mul.push(row); - for (var j = 0; j < 16; j++) { - var _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); - var _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); - var _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); - var _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); - for (var k = 0; k < 16; k++) { + for (let j = 0; j < 16; j++) { + let _ux = signum(ux[i] * ux[j] + vx[i] * uy[j]); + let _uy = signum(uy[i] * ux[j] + vy[i] * uy[j]); + let _vx = signum(ux[i] * vx[j] + vx[i] * vy[j]); + let _vy = signum(uy[i] * vx[j] + vy[i] * vy[j]); + for (let k = 0; k < 16; k++) { if (ux[k] === _ux && uy[k] === _uy && vx[k] === _vx && vy[k] === _vy) { row.push(k); break; @@ -37,8 +37,8 @@ } } - for (i=0;i<16;i++) { - var mat = new Matrix(); + for (let i=0;i<16;i++) { + let mat = new Matrix(); mat.set(ux[i], uy[i], vx[i], vy[i], 0, 0); tempMatrices.push(mat); } @@ -58,7 +58,7 @@ * * @namespace PIXI.GroupD8 */ -var GroupD8 = { +let GroupD8 = { E: 0, SE: 1, S: 2, @@ -150,7 +150,7 @@ */ matrixAppendRotationInv: function (matrix, rotation, tx, ty) { //Packer used "rotation", we use "inv(rotation)" - var mat = tempMatrices[GroupD8.inv(rotation)]; + let mat = tempMatrices[GroupD8.inv(rotation)]; tx = tx || 0; ty = ty || 0; mat.tx = tx; diff --git a/src/core/math/Matrix.js b/src/core/math/Matrix.js index fb110a6..60d5e02 100644 --- a/src/core/math/Matrix.js +++ b/src/core/math/Matrix.js @@ -2,7 +2,7 @@ // should either fix it or change the jshint config // jshint -W072 -var Point = require('./Point'); +let Point = require('./Point'); /** * The pixi Matrix class as an object, which makes it a lot faster, @@ -118,7 +118,7 @@ this.array = new Float32Array(9); } - var array = out || this.array; + let array = out || this.array; if (transpose) { @@ -160,8 +160,8 @@ { newPos = newPos || new Point(); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.a * x + this.c * y + this.tx; newPos.y = this.b * x + this.d * y + this.ty; @@ -181,10 +181,10 @@ { newPos = newPos || new Point(); - var id = 1 / (this.a * this.d + this.c * -this.b); + let id = 1 / (this.a * this.d + this.c * -this.b); - var x = pos.x; - var y = pos.y; + let x = pos.x; + let y = pos.y; newPos.x = this.d * id * x + -this.c * id * y + (this.ty * this.c - this.tx * this.d) * id; newPos.y = this.a * id * y + -this.b * id * x + (-this.ty * this.a + this.tx * this.b) * id; @@ -235,12 +235,12 @@ */ rotate(angle) { - var cos = Math.cos( angle ); - var sin = Math.sin( angle ); + let cos = Math.cos( angle ); + let sin = Math.sin( angle ); - var a1 = this.a; - var c1 = this.c; - var tx1 = this.tx; + let a1 = this.a; + let c1 = this.c; + let tx1 = this.tx; this.a = a1 * cos-this.b * sin; this.b = a1 * sin+this.b * cos; @@ -260,10 +260,10 @@ */ append(matrix) { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; this.a = matrix.a * a1 + matrix.b * c1; this.b = matrix.a * b1 + matrix.b * d1; @@ -293,7 +293,7 @@ */ setTransform(x, y, pivotX, pivotY, scaleX, scaleY, rotation, skewX, skewY) { - var a, b, c, d, sr, cr, cy, sy, nsx, cx; + let a, b, c, d, sr, cr, cy, sy, nsx, cx; sr = Math.sin(rotation); cr = Math.cos(rotation); @@ -326,12 +326,12 @@ */ prepend(matrix) { - var tx1 = this.tx; + let tx1 = this.tx; if (matrix.a !== 1 || matrix.b !== 0 || matrix.c !== 0 || matrix.d !== 1) { - var a1 = this.a; - var c1 = this.c; + let a1 = this.a; + let c1 = this.c; this.a = a1*matrix.a+this.b*matrix.c; this.b = a1*matrix.b+this.b*matrix.d; this.c = c1*matrix.a+this.d*matrix.c; @@ -352,15 +352,15 @@ decompose(transform) { // sort out rotation / skew.. - var a = this.a, + let a = this.a, b = this.b, c = this.c, d = this.d; - var skewX = Math.atan2(-c, d); - var skewY = Math.atan2(b, a); + let skewX = Math.atan2(-c, d); + let skewY = Math.atan2(b, a); - var delta = Math.abs(1-skewX/skewY); + let delta = Math.abs(1-skewX/skewY); if (delta < 0.00001) { @@ -399,12 +399,12 @@ */ invert() { - var a1 = this.a; - var b1 = this.b; - var c1 = this.c; - var d1 = this.d; - var tx1 = this.tx; - var n = a1*d1-b1*c1; + let a1 = this.a; + let b1 = this.b; + let c1 = this.c; + let d1 = this.d; + let tx1 = this.tx; + let n = a1*d1-b1*c1; this.a = d1/n; this.b = -b1/n; @@ -441,7 +441,7 @@ */ clone() { - var matrix = new Matrix(); + let matrix = new Matrix(); matrix.a = this.a; matrix.b = this.b; matrix.c = this.c; diff --git a/src/core/math/ObservablePoint.js b/src/core/math/ObservablePoint.js index 615b284..3999186 100644 --- a/src/core/math/ObservablePoint.js +++ b/src/core/math/ObservablePoint.js @@ -29,8 +29,8 @@ */ set(x, y) { - var _x = x || 0; - var _y = y || ( (y !== 0) ? _x : 0 ); + let _x = x || 0; + let _y = y || ( (y !== 0) ? _x : 0 ); if (this._x !== _x || this._y !== _y) { this._x = _x; diff --git a/src/core/math/shapes/Circle.js b/src/core/math/shapes/Circle.js index d814380..cae0591 100644 --- a/src/core/math/shapes/Circle.js +++ b/src/core/math/shapes/Circle.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -66,7 +66,7 @@ return false; } - var dx = (this.x - x), + let dx = (this.x - x), dy = (this.y - y), r2 = this.radius * this.radius; diff --git a/src/core/math/shapes/Ellipse.js b/src/core/math/shapes/Ellipse.js index 6aaa9b9..54bddaa 100644 --- a/src/core/math/shapes/Ellipse.js +++ b/src/core/math/shapes/Ellipse.js @@ -1,4 +1,4 @@ -var Rectangle = require('./Rectangle'), +let Rectangle = require('./Rectangle'), CONST = require('../../const'); /** @@ -74,7 +74,7 @@ } //normalize the coords to an ellipse with center 0,0 - var normx = ((x - this.x) / this.width), + let normx = ((x - this.x) / this.width), normy = ((y - this.y) / this.height); normx *= normx; diff --git a/src/core/math/shapes/Polygon.js b/src/core/math/shapes/Polygon.js index 453fef9..60b7fd0 100644 --- a/src/core/math/shapes/Polygon.js +++ b/src/core/math/shapes/Polygon.js @@ -1,4 +1,4 @@ -var Point = require('../Point'), +let Point = require('../Point'), CONST = require('../../const'); /** @@ -15,7 +15,7 @@ { // prevents an argument assignment deopt // see section 3.1: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments - var points = points_; + let points = points_; //if points isn't an array, use arguments as the array if (!Array.isArray(points)) @@ -24,7 +24,7 @@ // see section 3.2: https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments points = new Array(arguments.length); - for (var a = 0; a < points.length; ++a) { + for (let a = 0; a < points.length; ++a) { points[a] = arguments[a]; } } @@ -32,8 +32,8 @@ // if this is an array of points, convert it to a flat array of numbers if (points[0] instanceof Point) { - var p = []; - for (var i = 0, il = points.length; i < il; i++) + let p = []; + for (let i = 0, il = points.length; i < il; i++) { p.push(points[i].x, points[i].y); } @@ -75,7 +75,7 @@ close() { - var points = this.points; + let points = this.points; // close the poly if the value is true! if (points[0] !== points[points.length-2] || points[1] !== points[points.length-1]) @@ -93,15 +93,15 @@ */ contains(x, y) { - var inside = false; + let inside = false; // use some raycasting to test hits // https://github.com/substack/point-in-polygon/blob/master/index.js - var length = this.points.length / 2; + let length = this.points.length / 2; - for (var i = 0, j = length - 1; i < length; j = i++) + for (let i = 0, j = length - 1; i < length; j = i++) { - var xi = this.points[i * 2], yi = this.points[i * 2 + 1], + let xi = this.points[i * 2], yi = this.points[i * 2 + 1], xj = this.points[j * 2], yj = this.points[j * 2 + 1], intersect = ((yi > y) !== (yj > y)) && (x < (xj - xi) * (y - yi) / (yj - yi) + xi); diff --git a/src/core/math/shapes/Rectangle.js b/src/core/math/shapes/Rectangle.js index bf48bd4..af39d43 100644 --- a/src/core/math/shapes/Rectangle.js +++ b/src/core/math/shapes/Rectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * the Rectangle object is an area defined by its position, as indicated by its top-left corner point (x, y) and by its width and its height. @@ -161,10 +161,10 @@ return; } - var x1 = Math.min(this.x, rect.x); - var x2 = Math.max(this.x + this.width, rect.x + rect.width); - var y1 = Math.min(this.y, rect.y); - var y2 = Math.max(this.y + this.height, rect.y + rect.height); + let x1 = Math.min(this.x, rect.x); + let x2 = Math.max(this.x + this.width, rect.x + rect.width); + let y1 = Math.min(this.y, rect.y); + let y2 = Math.max(this.y + this.height, rect.y + rect.height); this.x = x1; this.width = x2 - x1; this.y = y1; diff --git a/src/core/math/shapes/RoundedRectangle.js b/src/core/math/shapes/RoundedRectangle.js index 574c9be..04f784a 100644 --- a/src/core/math/shapes/RoundedRectangle.js +++ b/src/core/math/shapes/RoundedRectangle.js @@ -1,4 +1,4 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * The Rounded Rectangle object is an area that has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height and its radius. diff --git a/src/core/renderers/SystemRenderer.js b/src/core/renderers/SystemRenderer.js index a5c9bd1..880b6fb 100644 --- a/src/core/renderers/SystemRenderer.js +++ b/src/core/renderers/SystemRenderer.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), math = require('../math'), CONST = require('../const'), Container = require('../display/Container'), @@ -35,7 +35,7 @@ // prepare options if (options) { - for (var i in CONST.DEFAULT_RENDER_OPTIONS) + for (let i in CONST.DEFAULT_RENDER_OPTIONS) { if (typeof options[i] === 'undefined') { @@ -209,9 +209,9 @@ */ generateTexture(displayObject, scaleMode, resolution) { - var bounds = displayObject.getLocalBounds(); + let bounds = displayObject.getLocalBounds(); - var renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); + let renderTexture = RenderTexture.create(bounds.width | 0, bounds.height | 0, scaleMode, resolution); tempMatrix.tx = -bounds.x; tempMatrix.ty = -bounds.y; diff --git a/src/core/renderers/canvas/CanvasRenderer.js b/src/core/renderers/canvas/CanvasRenderer.js index 3038d4d..21023a6 100644 --- a/src/core/renderers/canvas/CanvasRenderer.js +++ b/src/core/renderers/canvas/CanvasRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), CanvasMaskManager = require('./utils/CanvasMaskManager'), CanvasRenderTarget = require('./utils/CanvasRenderTarget'), mapCanvasBlendModesToPixi = require('./utils/mapCanvasBlendModesToPixi'), @@ -136,7 +136,7 @@ this.resolution = this.rootResolution; } - var context = this.context; + let context = this.context; if(!renderTexture) { @@ -149,8 +149,8 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; - var tempWt = this._tempDisplayObjectParent.transform.worldTransform; + let cacheParent = displayObject.parent; + let tempWt = this._tempDisplayObjectParent.transform.worldTransform; if(transform) { @@ -194,7 +194,7 @@ } // TODO RENDER TARGET STUFF HERE.. - var tempContext = this.context; + let tempContext = this.context; this.context = context; displayObject.renderCanvas(this); diff --git a/src/core/renderers/canvas/utils/CanvasMaskManager.js b/src/core/renderers/canvas/utils/CanvasMaskManager.js index 9551d5d..adc2a65 100644 --- a/src/core/renderers/canvas/utils/CanvasMaskManager.js +++ b/src/core/renderers/canvas/utils/CanvasMaskManager.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * A set of functions used to handle masking. * @@ -18,13 +18,13 @@ */ pushMask(maskData) { - var renderer = this.renderer; + let renderer = this.renderer; renderer.context.save(); - var cacheAlpha = maskData.alpha; - var transform = maskData.transform.worldTransform; - var resolution = renderer.resolution; + let cacheAlpha = maskData.alpha; + let transform = maskData.transform.worldTransform; + let resolution = renderer.resolution; renderer.context.setTransform( transform.a * resolution, @@ -48,8 +48,8 @@ renderGraphicsShape(graphics) { - var context = this.renderer.context; - var len = graphics.graphicsData.length; + let context = this.renderer.context; + let len = graphics.graphicsData.length; if (len === 0) { @@ -58,19 +58,19 @@ context.beginPath(); - for (var i = 0; i < len; i++) + for (let i = 0; i < len; i++) { - var data = graphics.graphicsData[i]; - var shape = data.shape; + let data = graphics.graphicsData[i]; + let shape = data.shape; if (data.type === CONST.SHAPES.POLY) { - var points = shape.points; + let points = shape.points; context.moveTo(points[0], points[1]); - for (var j=1; j < points.length/2; j++) + for (let j=1; j < points.length/2; j++) { context.lineTo(points[j * 2], points[j * 2 + 1]); } @@ -98,13 +98,13 @@ // ellipse code taken from: http://stackoverflow.com/questions/2172798/how-to-draw-an-oval-in-html5-canvas - var w = shape.width * 2; - var h = shape.height * 2; + let w = shape.width * 2; + let h = shape.height * 2; - var x = shape.x - w/2; - var y = shape.y - h/2; + let x = shape.x - w/2; + let y = shape.y - h/2; - var kappa = 0.5522848, + let kappa = 0.5522848, ox = (w / 2) * kappa, // control point offset horizontal oy = (h / 2) * kappa, // control point offset vertical xe = x + w, // x-end @@ -122,13 +122,13 @@ else if (data.type === CONST.SHAPES.RREC) { - var rx = shape.x; - var ry = shape.y; - var width = shape.width; - var height = shape.height; - var radius = shape.radius; + let rx = shape.x; + let ry = shape.y; + let width = shape.width; + let height = shape.height; + let radius = shape.radius; - var maxRadius = Math.min(width, height) / 2 | 0; + let maxRadius = Math.min(width, height) / 2 | 0; radius = radius > maxRadius ? maxRadius : radius; context.moveTo(rx, ry + radius); diff --git a/src/core/renderers/canvas/utils/CanvasRenderTarget.js b/src/core/renderers/canvas/utils/CanvasRenderTarget.js index 46f0ab6..c05127d 100644 --- a/src/core/renderers/canvas/utils/CanvasRenderTarget.js +++ b/src/core/renderers/canvas/utils/CanvasRenderTarget.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Creates a Canvas element of the given size. diff --git a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js index 492cea4..2ffdba9 100644 --- a/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js +++ b/src/core/renderers/canvas/utils/canUseNewCanvasBlendModes.js @@ -4,13 +4,13 @@ * Creates a little colored canvas * @return {canvas} a small canvas element */ -var createColoredCanvas = function(color) +let createColoredCanvas = function(color) { - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.fillStyle = color; context.fillRect(0,0,6,1); return canvas; @@ -22,33 +22,33 @@ * * @return {boolean} whether they are supported */ -var canUseNewCanvasBlendModes = function () +let canUseNewCanvasBlendModes = function () { if (typeof document === 'undefined') { return false; } - var magenta = createColoredCanvas('#ff00ff'); - var yellow = createColoredCanvas('#ffff00'); + let magenta = createColoredCanvas('#ff00ff'); + let yellow = createColoredCanvas('#ffff00'); - var canvas = document.createElement('canvas'); + let canvas = document.createElement('canvas'); canvas.width = 6; canvas.height = 1; - var context = canvas.getContext('2d'); + let context = canvas.getContext('2d'); context.globalCompositeOperation = 'multiply'; context.drawImage(magenta, 0, 0); context.drawImage(yellow, 2, 0); - var imageData = context.getImageData(2,0,1,1); + let imageData = context.getImageData(2,0,1,1); if (!imageData) { return false; } - var data = imageData.data; + let data = imageData.data; return (data[0] === 255 && data[1] === 0 && data[2] === 0); }; diff --git a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js index 030d258..ba18847 100644 --- a/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js +++ b/src/core/renderers/canvas/utils/mapCanvasBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'), +let CONST = require('../../../const'), canUseNewCanvasBlendModes = require('./canUseNewCanvasBlendModes'); /** diff --git a/src/core/renderers/webgl/TextureGarbageCollector.js b/src/core/renderers/webgl/TextureGarbageCollector.js index 6cc37c8..2a8154a 100644 --- a/src/core/renderers/webgl/TextureGarbageCollector.js +++ b/src/core/renderers/webgl/TextureGarbageCollector.js @@ -1,5 +1,5 @@ -var CONST = require('../../const'); +let CONST = require('../../const'); /** * TextureGarbageCollector. This class manages the GPU and ensures that it does not get clogged up with textures that are no longer being used. @@ -51,14 +51,14 @@ */ run() { - var tm = this.renderer.textureManager; - var managedTextures = tm._managedTextures; - var wasRemoved = false; - var i,j; + let tm = this.renderer.textureManager; + let managedTextures = tm._managedTextures; + let wasRemoved = false; + let i,j; for (i = 0; i < managedTextures.length; i++) { - var texture = managedTextures[i]; + let texture = managedTextures[i]; // only supports non generated textures at the moment! if (!texture._glRenderTargets && this.count - texture.touched > this.maxIdle) @@ -92,14 +92,14 @@ */ unload( displayObject ) { - var tm = this.renderer.textureManager; + let tm = this.renderer.textureManager; if(displayObject._texture) { tm.destroyTexture(displayObject._texture, true); } - for (var i = displayObject.children.length - 1; i >= 0; i--) { + for (let i = displayObject.children.length - 1; i >= 0; i--) { this.unload(displayObject.children[i]); diff --git a/src/core/renderers/webgl/TextureManager.js b/src/core/renderers/webgl/TextureManager.js index 10e7e97..a08f3b6 100644 --- a/src/core/renderers/webgl/TextureManager.js +++ b/src/core/renderers/webgl/TextureManager.js @@ -1,4 +1,4 @@ -var GLTexture = require('pixi-gl-core').GLTexture, +let GLTexture = require('pixi-gl-core').GLTexture, CONST = require('../../const'), RenderTarget = require('./utils/RenderTarget'), utils = require('../../utils'); @@ -54,20 +54,20 @@ { texture = texture.baseTexture || texture; - var isRenderTexture = !!texture._glRenderTargets; + let isRenderTexture = !!texture._glRenderTargets; if (!texture.hasLoaded) { return; } - var glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; + let glTexture = texture._glTextures[this.renderer.CONTEXT_UID]; if (!glTexture) { if(isRenderTexture) { - var renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); + let renderTarget = new RenderTarget(this.gl, texture.width, texture.height, texture.scaleMode, texture.resolution); renderTarget.resize(texture.width, texture.height); texture._glRenderTargets[this.renderer.CONTEXT_UID] = renderTarget; glTexture = renderTarget.texture; @@ -162,7 +162,7 @@ if (!skipRemove) { - var i = this._managedTextures.indexOf(texture); + let i = this._managedTextures.indexOf(texture); if (i !== -1) { utils.removeItems(this._managedTextures, i, 1); } @@ -176,9 +176,9 @@ removeAll() { // empty all the old gl textures as they are useless now - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; if (texture._glTextures[this.renderer.CONTEXT_UID]) { delete texture._glTextures[this.renderer.CONTEXT_UID]; @@ -192,9 +192,9 @@ destroy() { // destroy managed textures - for (var i = 0; i < this._managedTextures.length; ++i) + for (let i = 0; i < this._managedTextures.length; ++i) { - var texture = this._managedTextures[i]; + let texture = this._managedTextures[i]; this.destroyTexture(texture, true); texture.off('update', this.updateTexture, this); texture.off('dispose', this.destroyTexture, this); diff --git a/src/core/renderers/webgl/WebGLRenderer.js b/src/core/renderers/webgl/WebGLRenderer.js index b697701..22ef029 100644 --- a/src/core/renderers/webgl/WebGLRenderer.js +++ b/src/core/renderers/webgl/WebGLRenderer.js @@ -1,4 +1,4 @@ -var SystemRenderer = require('../SystemRenderer'), +let SystemRenderer = require('../SystemRenderer'), MaskManager = require('./managers/MaskManager'), StencilManager = require('./managers/StencilManager'), FilterManager = require('./managers/FilterManager'), @@ -14,7 +14,7 @@ glCore = require('pixi-gl-core'), CONST = require('../../const'); -var CONTEXT_UID = 0; +let CONTEXT_UID = 0; /** * The WebGLRenderer draws the scene and all its content onto a webGL enabled canvas. This renderer @@ -172,7 +172,7 @@ */ _initContext() { - var gl = this.gl; + let gl = this.gl; // create a texture manager... this.textureManager = new TextureManager(this); @@ -224,7 +224,7 @@ if(!skipUpdateTransform) { // update the scene graph - var cacheParent = displayObject.parent; + let cacheParent = displayObject.parent; displayObject.parent = this._tempDisplayObjectParent; displayObject.updateTransform(); displayObject.parent = cacheParent; @@ -343,12 +343,12 @@ */ bindRenderTexture(renderTexture, transform) { - var renderTarget; + let renderTarget; if(renderTexture) { - var baseTexture = renderTexture.baseTexture; - var gl = this.gl; + let baseTexture = renderTexture.baseTexture; + let gl = this.gl; if(!baseTexture._glRenderTargets[this.CONTEXT_UID]) { @@ -433,7 +433,7 @@ { texture = texture.baseTexture || texture; - var gl = this.gl; + let gl = this.gl; //TODO test perf of cache? location = location || 0; diff --git a/src/core/renderers/webgl/WebGLState.js b/src/core/renderers/webgl/WebGLState.js index 696b41f..3ff5ea7 100755 --- a/src/core/renderers/webgl/WebGLState.js +++ b/src/core/renderers/webgl/WebGLState.js @@ -1,6 +1,6 @@ -var mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); +let mapWebGLBlendModesToPixi = require('./utils/mapWebGLBlendModesToPixi'); -var BLEND = 0, +let BLEND = 0, DEPTH_TEST = 1, FRONT_FACE = 2, CULL_FACE = 3, @@ -77,7 +77,7 @@ push() { // next state.. - var state = this.stack[++this.stackIndex]; + let state = this.stack[++this.stackIndex]; if(!state) { @@ -86,7 +86,7 @@ // copy state.. // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = state[i]; } @@ -97,7 +97,7 @@ */ pop() { - var state = this.stack[--this.stackIndex]; + let state = this.stack[--this.stackIndex]; this.setState(state); } @@ -126,7 +126,7 @@ this.activeState[BLEND] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -165,7 +165,7 @@ this.activeState[DEPTH_TEST] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -189,7 +189,7 @@ this.activeState[CULL_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -213,7 +213,7 @@ this.activeState[FRONT_FACE] = value|0; - var gl = this.gl; + let gl = this.gl; if(value) { @@ -230,7 +230,7 @@ */ resetAttributes() { - var i; + let i; for ( i = 0; i < this.attribState.tempAttribState.length; i++) { this.attribState.tempAttribState[i] = 0; @@ -240,7 +240,7 @@ this.attribState.attribState[i] = 0; } - var gl = this.gl; + let gl = this.gl; // im going to assume one is always active for performance reasons. for (i = 1; i < this.maxAttribs; i++) @@ -267,12 +267,12 @@ this.resetAttributes(); // set active state so we can force overrides of gl state - for (var i = 0; i < this.activeState.length; i++) + for (let i = 0; i < this.activeState.length; i++) { this.activeState[i] = 32; } - var gl = this.gl; + let gl = this.gl; gl.pixelStorei(gl.UNPACK_FLIP_Y_WEBGL, false); diff --git a/src/core/renderers/webgl/filters/Filter.js b/src/core/renderers/webgl/filters/Filter.js index 1f81938..9194dc8 100644 --- a/src/core/renderers/webgl/filters/Filter.js +++ b/src/core/renderers/webgl/filters/Filter.js @@ -1,9 +1,9 @@ -var extractUniformsFromSrc = require('./extractUniformsFromSrc'), +let extractUniformsFromSrc = require('./extractUniformsFromSrc'), utils = require('../../../utils'), CONST = require('../../../const'), SOURCE_KEY_MAP = {}; -// var math = require('../../../math'); +// let math = require('../../../math'); /** * @class * @memberof PIXI @@ -38,7 +38,7 @@ this.uniforms = {}; - for (var i in this.uniformData) + for (let i in this.uniformData) { this.uniforms[i] = this.uniformData[i].value; } @@ -73,7 +73,7 @@ this.enabled = true; } - // var tempMatrix = new math.Matrix(); + // let tempMatrix = new math.Matrix(); apply(filterManager, input, output, clear) { diff --git a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js index f728e4b..206bb5f 100644 --- a/src/core/renderers/webgl/filters/extractUniformsFromSrc.js +++ b/src/core/renderers/webgl/filters/extractUniformsFromSrc.js @@ -1,9 +1,9 @@ -var defaultValue = require('pixi-gl-core').shader.defaultValue; +let defaultValue = require('pixi-gl-core').shader.defaultValue; function extractUniformsFromSrc(vertexSrc, fragmentSrc, mask) { - var vertUniforms = extractUniformsFromString(vertexSrc, mask); - var fragUniforms = extractUniformsFromString(fragmentSrc, mask); + let vertUniforms = extractUniformsFromString(vertexSrc, mask); + let fragUniforms = extractUniformsFromString(fragmentSrc, mask); return Object.assign(vertUniforms, fragUniforms); } @@ -11,29 +11,29 @@ function extractUniformsFromString(string) { - var maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); + let maskRegex = new RegExp('^(projectionMatrix|uSampler|filterArea)$'); - var uniforms = {}; - var nameSplit; + let uniforms = {}; + let nameSplit; // clean the lines a little - remove extra spaces / teabs etc // then split along ';' - var lines = string.replace(/\s+/g,' ') + let lines = string.replace(/\s+/g,' ') .split(/\s*;\s*/); // loop through.. - for (var i = 0; i < lines.length; i++) + for (let i = 0; i < lines.length; i++) { - var line = lines[i].trim(); + let line = lines[i].trim(); if(line.indexOf('uniform') > -1) { - var splitLine = line.split(' '); - var type = splitLine[1]; + let splitLine = line.split(' '); + let type = splitLine[1]; - var name = splitLine[2]; - var size = 1; + let name = splitLine[2]; + let size = 1; if(name.indexOf('[') > -1) { diff --git a/src/core/renderers/webgl/filters/filterTransforms.js b/src/core/renderers/webgl/filters/filterTransforms.js index ec86d38..2858d96 100644 --- a/src/core/renderers/webgl/filters/filterTransforms.js +++ b/src/core/renderers/webgl/filters/filterTransforms.js @@ -1,4 +1,4 @@ -var math = require('../../../math'); +let math = require('../../../math'); /* * Calculates the mapped matrix @@ -8,13 +8,13 @@ */ // TODO playing around here.. this is temporary - (will end up in the shader) // thia returns a matrix that will normalise map filter cords in the filter to screen space -var calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - //var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), - // var texture = {width:1136, height:700};//sprite._texture.baseTexture; + //let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + // let texture = {width:1136, height:700};//sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); @@ -24,14 +24,14 @@ }; -var calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) +let calculateNormalizedScreenSpaceMatrix = function (outputMatrix, filterArea, textureSize) { - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); - var translateScaleX = (textureSize.width / filterArea.width); - var translateScaleY = (textureSize.height / filterArea.height); + let translateScaleX = (textureSize.width / filterArea.width); + let translateScaleY = (textureSize.height / filterArea.height); mappedMatrix.scale( translateScaleX , translateScaleY ); @@ -39,23 +39,23 @@ }; // this will map the filter coord so that a texture can be used based on the transform of a sprite -var calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) +let calculateSpriteMatrix = function (outputMatrix, filterArea, textureSize, sprite) { - var worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), + let worldTransform = sprite.worldTransform.copy(math.Matrix.TEMP_MATRIX), texture = sprite._texture.baseTexture; // TODO unwrap? - var mappedMatrix = outputMatrix.identity(); + let mappedMatrix = outputMatrix.identity(); // scale.. - var ratio = textureSize.height / textureSize.width; + let ratio = textureSize.height / textureSize.width; mappedMatrix.translate(filterArea.x / textureSize.width, filterArea.y / textureSize.height ); mappedMatrix.scale(1 , ratio); - var translateScaleX = (textureSize.width / texture.width); - var translateScaleY = (textureSize.height / texture.height); + let translateScaleX = (textureSize.width / texture.width); + let translateScaleY = (textureSize.height / texture.height); worldTransform.tx /= texture.width * translateScaleX; diff --git a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js index 7079fcb..69cc462 100644 --- a/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js +++ b/src/core/renderers/webgl/filters/spriteMask/SpriteMaskFilter.js @@ -1,8 +1,8 @@ -var Filter = require('../Filter'), +let Filter = require('../Filter'), math = require('../../../../math'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The SpriteMaskFilter class * @@ -14,7 +14,7 @@ class SpriteMaskFilter extends Filter { constructor(sprite) { - var maskMatrix = new math.Matrix(); + let maskMatrix = new math.Matrix(); super( glslify('./spriteMaskFilter.vert'), @@ -36,7 +36,7 @@ */ apply(filterManager, input, output) { - var maskSprite = this.maskSprite; + let maskSprite = this.maskSprite; this.uniforms.mask = maskSprite._texture; this.uniforms.otherMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, maskSprite ); diff --git a/src/core/renderers/webgl/managers/BlendModeManager.js b/src/core/renderers/webgl/managers/BlendModeManager.js index d3b2113..3aea288 100644 --- a/src/core/renderers/webgl/managers/BlendModeManager.js +++ b/src/core/renderers/webgl/managers/BlendModeManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -32,7 +32,7 @@ this.currentBlendMode = blendMode; - var mode = this.renderer.blendModes[this.currentBlendMode]; + let mode = this.renderer.blendModes[this.currentBlendMode]; this.renderer.gl.blendFunc(mode[0], mode[1]); return true; diff --git a/src/core/renderers/webgl/managers/FilterManager.js b/src/core/renderers/webgl/managers/FilterManager.js index 873a2dd..c951986 100644 --- a/src/core/renderers/webgl/managers/FilterManager.js +++ b/src/core/renderers/webgl/managers/FilterManager.js @@ -1,5 +1,5 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), RenderTarget = require('../utils/RenderTarget'), Quad = require('../utils/Quad'), math = require('../../../math'), @@ -43,16 +43,16 @@ pushFilter(target, filters) { - var renderer = this.renderer; + let renderer = this.renderer; - var filterData = this.filterData; + let filterData = this.filterData; if(!filterData) { filterData = this.renderer._activeRenderTarget.filterStack; // add new stack - var filterState = new FilterState(); + let filterState = new FilterState(); filterState.sourceFrame = filterState.destinationFrame = this.renderer._activeRenderTarget.size; filterState.renderTarget = renderer._activeRenderTarget; @@ -65,18 +65,18 @@ } // get the current filter state.. - var currentState = filterData.stack[++filterData.index]; + let currentState = filterData.stack[++filterData.index]; if(!currentState) { currentState = filterData.stack[filterData.index] = new FilterState(); } // for now we go off the filter of the first resolution.. - var resolution = filters[0].resolution; - var padding = filters[0].padding; - var targetBounds = target.filterArea || target.getBounds(true); - var sourceFrame = currentState.sourceFrame; - var destinationFrame = currentState.destinationFrame; + let resolution = filters[0].resolution; + let padding = filters[0].padding; + let targetBounds = target.filterArea || target.getBounds(true); + let sourceFrame = currentState.sourceFrame; + let destinationFrame = currentState.destinationFrame; sourceFrame.x = ((targetBounds.x * resolution) | 0) / resolution; sourceFrame.y = ((targetBounds.y * resolution) | 0) / resolution; @@ -103,7 +103,7 @@ // this should stop the strange side effects that can occour when cropping to the edges sourceFrame.pad(padding); - var renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); + let renderTarget = this.getPotRenderTarget(renderer.gl, sourceFrame.width, sourceFrame.height, resolution); currentState.target = target; currentState.filters = filters; @@ -122,14 +122,14 @@ popFilter() { - var filterData = this.filterData; + let filterData = this.filterData; - var lastState = filterData.stack[filterData.index-1]; - var currentState = filterData.stack[filterData.index]; + let lastState = filterData.stack[filterData.index-1]; + let currentState = filterData.stack[filterData.index]; this.quad.map(currentState.renderTarget.size, currentState.sourceFrame).upload(); - var filters = currentState.filters; + let filters = currentState.filters; if(filters.length === 1) { @@ -138,15 +138,17 @@ } else { - var flip = currentState.renderTarget; - var flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); + let flip = currentState.renderTarget; + let flop = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, 1); flop.setFrame(currentState.destinationFrame, currentState.sourceFrame); - for (var i = 0; i < filters.length-1; i++) + let i; + + for (i = 0; i < filters.length-1; i++) { filters[i].apply(this, flip, flop, true); - var t = flip; + let t = flip; flip = flop; flop = t; } @@ -167,8 +169,8 @@ applyFilter(filter, input, output, clear) { - var renderer = this.renderer; - var shader = filter.glShaders[renderer.CONTEXT_UID]; + let renderer = this.renderer; + let shader = filter.glShaders[renderer.CONTEXT_UID]; // cacheing.. if(!shader) @@ -197,7 +199,7 @@ if(clear) { - var gl = renderer.gl; + let gl = renderer.gl; gl.disable(gl.SCISSOR_TEST); renderer.clear();//[1, 1, 1, 1]); @@ -228,17 +230,17 @@ // this returns a matrix that will normalise map filter cords in the filter to screen space syncUniforms(shader, filter) { - var uniformData = filter.uniformData; - var uniforms = filter.uniforms; + let uniformData = filter.uniformData; + let uniforms = filter.uniforms; // 0 is reserverd for the pixi texture so we start at 1! - var textureCount = 1; - var currentState; + let textureCount = 1; + let currentState; if(shader.uniforms.data.filterArea) { currentState = this.filterData.stack[this.filterData.index]; - var filterArea = shader.uniforms.filterArea; + let filterArea = shader.uniforms.filterArea; filterArea[0] = currentState.renderTarget.size.width; filterArea[1] = currentState.renderTarget.size.height; @@ -253,7 +255,7 @@ if(shader.uniforms.data.filterClamp) { currentState = this.filterData.stack[this.filterData.index]; - var filterClamp = shader.uniforms.filterClamp; + let filterClamp = shader.uniforms.filterClamp; filterClamp[0] = 0.5 / currentState.renderTarget.size.width; filterClamp[1] = 0.5 / currentState.renderTarget.size.height; @@ -263,9 +265,9 @@ shader.uniforms.filterClamp = filterClamp; } - var val; + let val; //TODO Cacheing layer.. - for(var i in uniformData) + for(let i in uniformData) { if(uniformData[i].type === 'sampler2D') { @@ -281,7 +283,7 @@ // Although thinking about it, we could probably // make the filter texture cache return a RenderTexture // rather than a renderTarget - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.renderer._activeTextureLocation = gl.TEXTURE0 + textureCount; gl.activeTexture(gl.TEXTURE0 + textureCount ); uniforms[i].texture.bind(); @@ -333,8 +335,8 @@ getRenderTarget(clear, resolution) { - var currentState = this.filterData.stack[this.filterData.index]; - var renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); + let currentState = this.filterData.stack[this.filterData.index]; + let renderTarget = this.getPotRenderTarget(this.renderer.gl, currentState.sourceFrame.width, currentState.sourceFrame.height, resolution || currentState.resolution); renderTarget.setFrame(currentState.destinationFrame, currentState.sourceFrame); return renderTarget; @@ -355,7 +357,7 @@ // thia returns a matrix that will normalise map filter cords in the filter to screen space calculateScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size); } @@ -366,7 +368,7 @@ */ calculateNormalizedScreenSpaceMatrix(outputMatrix) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateNormalizedScreenSpaceMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, currentState.destinationFrame); } @@ -374,7 +376,7 @@ // this will map the filter coord so that a texture can be used based on the transform of a sprite calculateSpriteMatrix(outputMatrix, sprite) { - var currentState = this.filterData.stack[this.filterData.index]; + let currentState = this.filterData.stack[this.filterData.index]; return filterTransforms.calculateSpriteMatrix(outputMatrix, currentState.sourceFrame, currentState.renderTarget.size, sprite); } @@ -394,13 +396,13 @@ minWidth = bitTwiddle.nextPow2(minWidth * resolution); minHeight = bitTwiddle.nextPow2(minHeight * resolution); - var key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | ( minHeight & 0xFFFF); if(!this.pool[key]) { this.pool[key] = []; } - var renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); + let renderTarget = this.pool[key].pop() || new RenderTarget(gl, minWidth, minHeight, null, 1); //manually tweak the resolution... //this will not modify the size of the frame buffer, just its resolution. @@ -412,12 +414,12 @@ emptyPool() { - for (var i in this.pool) + for (let i in this.pool) { - var textures = this.pool[i]; + let textures = this.pool[i]; if(textures) { - for (var j = 0; j < textures.length; j++) + for (let j = 0; j < textures.length; j++) { textures[j].destroy(true); } @@ -429,10 +431,10 @@ freePotRenderTarget(renderTarget) { - var minWidth = renderTarget.size.width * renderTarget.resolution; - var minHeight = renderTarget.size.height * renderTarget.resolution; + let minWidth = renderTarget.size.width * renderTarget.resolution; + let minHeight = renderTarget.size.height * renderTarget.resolution; - var key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); + let key = ((minWidth & 0xFFFF) << 16) | (minHeight & 0xFFFF); this.pool[key].push(renderTarget); } diff --git a/src/core/renderers/webgl/managers/MaskManager.js b/src/core/renderers/webgl/managers/MaskManager.js index ae5f9db..3fcf89c 100644 --- a/src/core/renderers/webgl/managers/MaskManager.js +++ b/src/core/renderers/webgl/managers/MaskManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'), +let WebGLManager = require('./WebGLManager'), AlphaMaskFilter = require('../filters/spriteMask/SpriteMaskFilter'); /** @@ -38,9 +38,9 @@ { if(this.enableScissor && !this.scissor && !this.renderer.stencilManager.stencilMaskStack.length && maskData.isFastRect()) { - var matrix = maskData.worldTransform; + let matrix = maskData.worldTransform; - var rot = Math.atan2(matrix.b, matrix.a); + let rot = Math.atan2(matrix.b, matrix.a); // use the nearest degree! rot = Math.round(rot * (180/Math.PI)); @@ -95,7 +95,7 @@ */ pushSpriteMask(target, maskData) { - var alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; + let alphaMaskFilter = this.alphaMaskPool[this.alphaMaskIndex]; if (!alphaMaskFilter) { @@ -154,16 +154,16 @@ { maskData.renderable = true; - var renderTarget = this.renderer._activeRenderTarget; + let renderTarget = this.renderer._activeRenderTarget; - var bounds = maskData.getBounds(); + let bounds = maskData.getBounds(); bounds.fit(renderTarget.size); maskData.renderable = false; this.renderer.gl.enable(this.renderer.gl.SCISSOR_TEST); - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; this.renderer.gl.scissor(bounds.x * resolution, (renderTarget.root ? renderTarget.size.height - bounds.y - bounds.height : bounds.y) * resolution, bounds.width * resolution, @@ -185,7 +185,7 @@ this.scissor = false; // must be scissor! - var gl = this.renderer.gl; + let gl = this.renderer.gl; gl.disable(gl.SCISSOR_TEST); } diff --git a/src/core/renderers/webgl/managers/StencilManager.js b/src/core/renderers/webgl/managers/StencilManager.js index f81ca6d..de2f3cf 100644 --- a/src/core/renderers/webgl/managers/StencilManager.js +++ b/src/core/renderers/webgl/managers/StencilManager.js @@ -1,4 +1,4 @@ -var WebGLManager = require('./WebGLManager'); +let WebGLManager = require('./WebGLManager'); /** * @class @@ -21,7 +21,7 @@ { this.stencilMaskStack = stencilMaskStack; - var gl = this.renderer.gl; + let gl = this.renderer.gl; if (stencilMaskStack.length === 0) { @@ -44,7 +44,7 @@ this.renderer._activeRenderTarget.attachStencilBuffer(); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; if (sms.length === 0) @@ -73,10 +73,10 @@ { this.renderer.setObjectRenderer(this.renderer.plugins.graphics); - var gl = this.renderer.gl, + let gl = this.renderer.gl, sms = this.stencilMaskStack; - var graphics = sms.pop(); + let graphics = sms.pop(); if (sms.length === 0) { diff --git a/src/core/renderers/webgl/utils/ObjectRenderer.js b/src/core/renderers/webgl/utils/ObjectRenderer.js index 4cc4323..98d1504 100644 --- a/src/core/renderers/webgl/utils/ObjectRenderer.js +++ b/src/core/renderers/webgl/utils/ObjectRenderer.js @@ -1,4 +1,4 @@ -var WebGLManager = require('../managers/WebGLManager'); +let WebGLManager = require('../managers/WebGLManager'); /** * Base for a common object renderer that can be used as a system renderer plugin. diff --git a/src/core/renderers/webgl/utils/Quad.js b/src/core/renderers/webgl/utils/Quad.js index 8ddc4cc..6849993 100644 --- a/src/core/renderers/webgl/utils/Quad.js +++ b/src/core/renderers/webgl/utils/Quad.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../../utils/createIndicesForQuads'); /** @@ -45,7 +45,7 @@ this.interleaved = new Float32Array(8 * 2); - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -93,8 +93,8 @@ */ map(targetTextureFrame, destinationFrame) { - var x = 0; //destinationFrame.x / targetTextureFrame.width; - var y = 0; //destinationFrame.y / targetTextureFrame.height; + let x = 0; //destinationFrame.x / targetTextureFrame.width; + let y = 0; //destinationFrame.y / targetTextureFrame.height; this.uvs[0] = x; this.uvs[1] = y; @@ -144,7 +144,7 @@ */ upload() { - for (var i = 0; i < 4; i++) { + for (let i = 0; i < 4; i++) { this.interleaved[i*4] = this.vertices[(i*2)]; this.interleaved[(i*4)+1] = this.vertices[(i*2)+1]; this.interleaved[(i*4)+2] = this.uvs[i*2]; @@ -161,7 +161,7 @@ */ destroy() { - var gl = this.gl; + let gl = this.gl; gl.deleteBuffer(this.vertexBuffer); gl.deleteBuffer(this.indexBuffer); diff --git a/src/core/renderers/webgl/utils/RenderTarget.js b/src/core/renderers/webgl/utils/RenderTarget.js index 481f332..8133651 100644 --- a/src/core/renderers/webgl/utils/RenderTarget.js +++ b/src/core/renderers/webgl/utils/RenderTarget.js @@ -1,4 +1,4 @@ -var math = require('../../../math'), +let math = require('../../../math'), CONST = require('../../../const'), GLFramebuffer = require('pixi-gl-core').GLFramebuffer; @@ -175,7 +175,7 @@ */ clear(clearColor) { - var cc = clearColor || this.clearColor; + let cc = clearColor || this.clearColor; this.frameBuffer.clear(cc[0],cc[1],cc[2],cc[3]);//r,g,b,a); } @@ -209,7 +209,7 @@ activate() { //TOOD refactor usage of frame.. - var gl = this.gl; + let gl = this.gl; // make surethe texture is unbound! this.frameBuffer.bind(); @@ -247,7 +247,7 @@ */ calculateProjection(destinationFrame, sourceFrame) { - var pm = this.projectionMatrix; + let pm = this.projectionMatrix; sourceFrame = sourceFrame || destinationFrame; @@ -298,7 +298,7 @@ this.frameBuffer.resize(width * this.resolution, height * this.resolution); - var projectionFrame = this.frame || this.size; + let projectionFrame = this.frame || this.size; this.calculateProjection( projectionFrame ); } diff --git a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js index 241cb47..ee2c663 100644 --- a/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js +++ b/src/core/renderers/webgl/utils/checkMaxIfStatmentsInShader.js @@ -1,6 +1,6 @@ -var glCore = require('pixi-gl-core'); +let glCore = require('pixi-gl-core'); -var fragTemplate = [ +let fragTemplate = [ 'precision mediump float;', 'void main(void){', 'float test = 0.1;', @@ -9,24 +9,24 @@ '}' ].join('\n'); -var checkMaxIfStatmentsInShader = function(maxIfs, gl) +let checkMaxIfStatmentsInShader = function(maxIfs, gl) { - var createTempContext = !gl; + let createTempContext = !gl; if(createTempContext) { - var tinyCanvas = document.createElement('canvas'); + let tinyCanvas = document.createElement('canvas'); tinyCanvas.width = 1; tinyCanvas.height = 1; gl = glCore.createContext(tinyCanvas); } - var shader = gl.createShader(gl.FRAGMENT_SHADER); + let shader = gl.createShader(gl.FRAGMENT_SHADER); while(true) { - var fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); + let fragmentSrc = fragTemplate.replace(/%forloop%/gi, generateIfTestSrc(maxIfs)); gl.shaderSource(shader, fragmentSrc); gl.compileShader(shader); @@ -58,9 +58,9 @@ function generateIfTestSrc(maxIfs) { - var src = ''; + let src = ''; - for (var i = 0; i < maxIfs; i++) + for (let i = 0; i < maxIfs; i++) { if(i > 0) { diff --git a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js index a811504..c6f67d4 100644 --- a/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLBlendModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Maps gl blend combinations to WebGL diff --git a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js index ed196f7..423498b 100644 --- a/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js +++ b/src/core/renderers/webgl/utils/mapWebGLDrawModesToPixi.js @@ -1,4 +1,4 @@ -var CONST = require('../../../const'); +let CONST = require('../../../const'); /** * Generic Mask Stack data structure diff --git a/src/core/renderers/webgl/utils/validateContext.js b/src/core/renderers/webgl/utils/validateContext.js index 23b13af..41ad208 100644 --- a/src/core/renderers/webgl/utils/validateContext.js +++ b/src/core/renderers/webgl/utils/validateContext.js @@ -2,7 +2,7 @@ function validateContext(gl) { - var attributes = gl.getContextAttributes(); + let attributes = gl.getContextAttributes(); // this is going to be fairly simple for now.. but at least we have rom to grow! if(!attributes.stencil) diff --git a/src/core/sprites/Sprite.js b/src/core/sprites/Sprite.js index 9453103..7df7fed 100644 --- a/src/core/sprites/Sprite.js +++ b/src/core/sprites/Sprite.js @@ -1,4 +1,4 @@ -var math = require('../math'), +let math = require('../math'), Texture = require('../textures/Texture'), Container = require('../display/Container'), utils = require('../utils'), @@ -11,7 +11,7 @@ * A sprite can be created directly from an image like this: * * ```js - * var sprite = new PIXI.Sprite.fromImage('assets/image.png'); + * let sprite = new PIXI.Sprite.fromImage('assets/image.png'); * ``` * * @class @@ -153,7 +153,7 @@ // set the vertex data - var texture = this._texture, + let texture = this._texture, wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, vertexData = this.vertexData, @@ -209,12 +209,12 @@ } // lets do some special trim code! - var texture = this._texture, + let texture = this._texture, vertexData = this.vertexTrimmedData, orig = texture.orig; // lets calculate the new untrimmed bounds.. - var wt = this.transform.worldTransform, + let wt = this.transform.worldTransform, a = wt.a, b = wt.b, c = wt.c, d = wt.d, tx = wt.tx, ty = wt.ty, w0, w1, h0, h1; @@ -271,7 +271,7 @@ _calculateBounds() { - var trim = this._texture.trim, + let trim = this._texture.trim, orig = this._texture.orig; //First lets check to see if the current texture has a trim.. @@ -334,10 +334,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._texture.orig.width; - var height = this._texture.orig.height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._texture.orig.width; + let height = this._texture.orig.height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -368,10 +368,10 @@ this.anchor = null; - var destroyTexture = typeof options === 'boolean' ? options : options && options.texture; + let destroyTexture = typeof options === 'boolean' ? options : options && options.texture; if (destroyTexture) { - var destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; + let destroyBaseTexture = typeof options === 'boolean' ? options : options && options.baseTexture; this._texture.destroy(!!destroyBaseTexture); } @@ -404,7 +404,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -447,7 +447,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -466,7 +466,7 @@ }, set: function (value) { - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/sprites/canvas/CanvasSpriteRenderer.js b/src/core/sprites/canvas/CanvasSpriteRenderer.js index 929180d..37e3bc1 100644 --- a/src/core/sprites/canvas/CanvasSpriteRenderer.js +++ b/src/core/sprites/canvas/CanvasSpriteRenderer.js @@ -1,4 +1,4 @@ -var CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), +let CanvasRenderer = require('../../renderers/canvas/CanvasRenderer'), CONST = require('../../const'), math = require('../../math'), canvasRenderWorldTransform = new math.Matrix(), @@ -37,7 +37,7 @@ */ render(sprite) { - var texture = sprite._texture, + let texture = sprite._texture, renderer = this.renderer, wt = sprite.transform.worldTransform, dx, @@ -58,7 +58,7 @@ renderer.context.globalAlpha = sprite.worldAlpha; // If smoothingEnabled is supported and we need to change the smoothing property for sprite texture - var smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; + let smoothingEnabled = texture.baseTexture.scaleMode === CONST.SCALE_MODES.LINEAR; if (renderer.smoothProperty && renderer.context[renderer.smoothProperty] !== smoothingEnabled) { renderer.context[renderer.smoothProperty] = smoothingEnabled; @@ -108,7 +108,7 @@ ); } - var resolution = texture.baseTexture.resolution; + let resolution = texture.baseTexture.resolution; if (sprite.tint !== 0xFFFFFF) { diff --git a/src/core/sprites/canvas/CanvasTinter.js b/src/core/sprites/canvas/CanvasTinter.js index 486fd5c..37a5b51 100644 --- a/src/core/sprites/canvas/CanvasTinter.js +++ b/src/core/sprites/canvas/CanvasTinter.js @@ -1,4 +1,4 @@ -var utils = require('../../utils'), +let utils = require('../../utils'), canUseNewCanvasBlendModes = require('../../renderers/canvas/utils/canUseNewCanvasBlendModes'); /** @@ -6,7 +6,7 @@ * * @namespace PIXI.CanvasTinter */ -var CanvasTinter = module.exports = { +let CanvasTinter = module.exports = { /** * Basically this method just needs a sprite and a color and tints the sprite with the given color. * @@ -17,11 +17,11 @@ */ getTintedTexture: function (sprite, color) { - var texture = sprite.texture; + let texture = sprite.texture; color = CanvasTinter.roundColor(color); - var stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); + let stringColor = '#' + ('00000' + ( color | 0).toString(16)).substr(-6); texture.tintCache = texture.tintCache || {}; @@ -31,7 +31,7 @@ } // clone texture.. - var canvas = CanvasTinter.canvas || document.createElement('canvas'); + let canvas = CanvasTinter.canvas || document.createElement('canvas'); //CanvasTinter.tintWithPerPixel(texture, stringColor, canvas); CanvasTinter.tintMethod(texture, color, canvas); @@ -39,7 +39,7 @@ if (CanvasTinter.convertTintToImage) { // is this better? - var tintImage = new Image(); + let tintImage = new Image(); tintImage.src = canvas.toDataURL(); texture.tintCache[stringColor] = tintImage; @@ -64,9 +64,9 @@ */ tintWithMultiply: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -119,9 +119,9 @@ */ tintWithOverlay: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -161,9 +161,9 @@ */ tintWithPerPixel: function (texture, color, canvas) { - var context = canvas.getContext( '2d' ); - var crop = texture._frame.clone(); - var resolution = texture.baseTexture.resolution; + let context = canvas.getContext( '2d' ); + let crop = texture._frame.clone(); + let resolution = texture.baseTexture.resolution; crop.x *= resolution; crop.y *= resolution; @@ -186,14 +186,14 @@ crop.height ); - var rgbValues = utils.hex2rgb(color); - var r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; + let rgbValues = utils.hex2rgb(color); + let r = rgbValues[0], g = rgbValues[1], b = rgbValues[2]; - var pixelData = context.getImageData(0, 0, crop.width, crop.height); + let pixelData = context.getImageData(0, 0, crop.width, crop.height); - var pixels = pixelData.data; + let pixels = pixelData.data; - for (var i = 0; i < pixels.length; i += 4) + for (let i = 0; i < pixels.length; i += 4) { pixels[i+0] *= r; pixels[i+1] *= g; @@ -211,9 +211,9 @@ */ roundColor: function (color) { - var step = CanvasTinter.cacheStepsPerColorChannel; + let step = CanvasTinter.cacheStepsPerColorChannel; - var rgbValues = utils.hex2rgb(color); + let rgbValues = utils.hex2rgb(color); rgbValues[0] = Math.min(255, (rgbValues[0] / step) * step); rgbValues[1] = Math.min(255, (rgbValues[1] / step) * step); diff --git a/src/core/sprites/webgl/BatchBuffer.js b/src/core/sprites/webgl/BatchBuffer.js index b71b406..505ea2c 100644 --- a/src/core/sprites/webgl/BatchBuffer.js +++ b/src/core/sprites/webgl/BatchBuffer.js @@ -1,6 +1,6 @@ - var Buffer = function(size) + let Buffer = function(size) { this.vertices = new ArrayBuffer(size); diff --git a/src/core/sprites/webgl/SpriteRenderer.js b/src/core/sprites/webgl/SpriteRenderer.js index 9e4b8b7..46a1bb8 100644 --- a/src/core/sprites/webgl/SpriteRenderer.js +++ b/src/core/sprites/webgl/SpriteRenderer.js @@ -1,4 +1,4 @@ -var ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), +let ObjectRenderer = require('../../renderers/webgl/utils/ObjectRenderer'), WebGLRenderer = require('../../renderers/webgl/WebGLRenderer'), createIndicesForQuads = require('../../utils/createIndicesForQuads'), generateMultiTextureShader = require('./generateMultiTextureShader'), @@ -8,7 +8,7 @@ glCore = require('pixi-gl-core'), bitTwiddle = require('bit-twiddle'); - var TICK = 0; + let TICK = 0; /** * Renderer dedicated to drawing and batching sprites. * @@ -46,11 +46,11 @@ this.size = CONST.SPRITE_BATCH_SIZE; // 2000 is a nice balance between mobile / desktop // the total number of bytes in our batch - // var numVerts = this.size * 4 * this.vertByteSize; + // let numVerts = this.size * 4 * this.vertByteSize; this.buffers = []; - for (var i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { - var numVertsTemp = i * 4 * this.vertByteSize; + for (let i = 1; i <= bitTwiddle.nextPow2(this.size); i*=2) { + let numVertsTemp = i * 4 * this.vertByteSize; this.buffers.push(new Buffer(numVertsTemp)); } @@ -73,7 +73,7 @@ TICK =0; this.groups = []; - for (var k = 0; k < this.size; k++) + for (let k = 0; k < this.size; k++) { this.groups[k] = {textures:[], textureCount:0, ids:[], size:0, start:0, blend:0}; } @@ -96,7 +96,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; // step 1: first check max textures the GPU can handle. this.MAX_TEXTURES = Math.min(gl.getParameter(gl.MAX_TEXTURE_IMAGE_UNITS), CONST.SPRITE_MAX_TEXTURES); @@ -113,9 +113,9 @@ // we use the second shader as the first one depending on your browser may omit aTextureId // as it is not used by the shader so is optimized out. - var shader = this.shaders[1]; + let shader = this.shaders[1]; - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i] = glCore.GLBuffer.createVertexBuffer(gl, null, gl.STREAM_DRAW); // build the vao object that will render.. @@ -175,30 +175,30 @@ return; } - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var np2 = bitTwiddle.nextPow2(this.currentIndex); - var log2 = bitTwiddle.log2(np2); - var buffer = this.buffers[log2]; + let np2 = bitTwiddle.nextPow2(this.currentIndex); + let log2 = bitTwiddle.log2(np2); + let buffer = this.buffers[log2]; - var sprites = this.sprites; - var groups = this.groups; + let sprites = this.sprites; + let groups = this.groups; - var float32View = buffer.float32View; - var uint32View = buffer.uint32View; + let float32View = buffer.float32View; + let uint32View = buffer.uint32View; - var index = 0; - var nextTexture; - var currentTexture; - var groupCount = 1; - var textureCount = 0; - var currentGroup = groups[0]; - var vertexData; - var tint; - var uvs; - var textureId; - var blendMode = sprites[0].blendMode; - var shader; + let index = 0; + let nextTexture; + let currentTexture; + let groupCount = 1; + let textureCount = 0; + let currentGroup = groups[0]; + let vertexData; + let tint; + let uvs; + let textureId; + let blendMode = sprites[0].blendMode; + let shader; currentGroup.textureCount = 0; currentGroup.start = 0; @@ -206,11 +206,13 @@ TICK++; - for (var i = 0; i < this.currentIndex; i++) + let i; + + for (i = 0; i < this.currentIndex; i++) { // upload the sprite elemetns... // they have all ready been calculated so we just need to push them into the buffer. - var sprite = sprites[i]; + let sprite = sprites[i]; nextTexture = sprite._texture.baseTexture; @@ -262,7 +264,7 @@ if (this.renderer.roundPixels) { - var resolution = this.renderer.resolution; + let resolution = this.renderer.resolution; //xy float32View[index] = ((vertexData[0] * resolution) | 0) / resolution; @@ -335,8 +337,8 @@ /// render the groups.. for (i = 0; i < groupCount; i++) { - var group = groups[i]; - var groupTextureCount = group.textureCount; + let group = groups[i]; + let groupTextureCount = group.textureCount; shader = this.shaders[groupTextureCount-1]; if(!shader) @@ -347,7 +349,7 @@ this.renderer.bindShader(shader); - for (var j = 0; j < groupTextureCount; j++) + for (let j = 0; j < groupTextureCount; j++) { this.renderer.bindTexture(group.textures[j], j); } @@ -384,7 +386,7 @@ */ destroy() { - for (var i = 0; i < this.vaoMax; i++) { + for (let i = 0; i < this.vaoMax; i++) { this.vertexBuffers[i].destroy(); this.vaos[i].destroy(); } @@ -395,7 +397,7 @@ super.destroy(); - for (i = 0; i < this.shaders.length; i++) { + for (let i = 0; i < this.shaders.length; i++) { if(this.shaders[i]) { @@ -410,7 +412,7 @@ this.sprites = null; - for (i = 0; i < this.buffers.length; i++) { + for (let i = 0; i < this.buffers.length; i++) { this.buffers[i].destroy(); } diff --git a/src/core/sprites/webgl/generateMultiTextureShader.js b/src/core/sprites/webgl/generateMultiTextureShader.js index 38b06e2..680412f 100644 --- a/src/core/sprites/webgl/generateMultiTextureShader.js +++ b/src/core/sprites/webgl/generateMultiTextureShader.js @@ -1,7 +1,7 @@ -var Shader = require('../../Shader'); -var glslify = require('glslify'); +let Shader = require('../../Shader'); +let glslify = require('glslify'); -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vTextureCoord;', 'varying vec4 vColor;', 'varying float vTextureId;', @@ -17,16 +17,16 @@ function generateMultiTextureShader(gl, maxTextures) { - var vertexSrc = glslify('./texture.vert'); - var fragmentSrc = fragTemplate; + let vertexSrc = glslify('./texture.vert'); + let fragmentSrc = fragTemplate; fragmentSrc = fragmentSrc.replace(/%count%/gi, maxTextures); fragmentSrc = fragmentSrc.replace(/%forloop%/gi, generateSampleSrc(maxTextures)); - var shader = new Shader(gl, vertexSrc, fragmentSrc); + let shader = new Shader(gl, vertexSrc, fragmentSrc); - var sampleValues = []; - for (var i = 0; i < maxTextures; i++) + let sampleValues = []; + for (let i = 0; i < maxTextures; i++) { sampleValues[i] = i; } @@ -39,12 +39,12 @@ function generateSampleSrc(maxTextures) { - var src = ''; + let src = ''; src += '\n'; src += '\n'; - for (var i = 0; i < maxTextures; i++) + for (let i = 0; i < maxTextures; i++) { if(i > 0) { diff --git a/src/core/text/Text.js b/src/core/text/Text.js index c33bb0f..1404884 100644 --- a/src/core/text/Text.js +++ b/src/core/text/Text.js @@ -1,11 +1,11 @@ -var Sprite = require('../sprites/Sprite'), +let Sprite = require('../sprites/Sprite'), Texture = require('../textures/Texture'), math = require('../math'), utils = require('../utils'), CONST = require('../const'), TextStyle = require('./TextStyle'); - var defaultDestroyOptions = { + let defaultDestroyOptions = { texture:true, children:false, baseTexture:true @@ -17,7 +17,7 @@ * A Text can be created directly from a string and a style object * * ```js - * var text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); + * let text = new PIXI.Text('This is a pixi text',{fontFamily : 'Arial', fontSize: 24, fill : 0xff1010, align : 'center'}); * ``` * * @class @@ -29,7 +29,7 @@ class Text extends Sprite { constructor(text, style) { - var texture = Texture.fromCanvas(document.createElement('canvas')); + let texture = Texture.fromCanvas(document.createElement('canvas')); texture.orig = new math.Rectangle(); texture.trim = new math.Rectangle(); @@ -99,7 +99,7 @@ */ updateText(respectDirty) { - var style = this._style; + let style = this._style; // check if style has changed.. if(this.localStyleID !== style.styleID) @@ -113,32 +113,32 @@ } // build canvas api font setting from invididual components. Convert a numeric style.fontSize to px - var fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; + let fontSizeString = (typeof style.fontSize === 'number') ? style.fontSize + 'px' : style.fontSize; this._font = style.fontStyle + ' ' + style.fontVariant + ' ' + style.fontWeight + ' ' + fontSizeString + ' ' + style.fontFamily; this.context.font = this._font; // word wrap // preserve original text - var outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; + let outputText = style.wordWrap ? this.wordWrap(this._text) : this._text; // split text into lines - var lines = outputText.split(/(?:\r\n|\r|\n)/); + let lines = outputText.split(/(?:\r\n|\r|\n)/); // calculate text width - var lineWidths = new Array(lines.length); - var maxLineWidth = 0; - var fontProperties = this.determineFontProperties(this._font); + let lineWidths = new Array(lines.length); + let maxLineWidth = 0; + let fontProperties = this.determineFontProperties(this._font); - var i; + let i; for (i = 0; i < lines.length; i++) { - var lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); + let lineWidth = this.context.measureText(lines[i]).width + ((lines[i].length - 1) * style.letterSpacing); lineWidths[i] = lineWidth; maxLineWidth = Math.max(maxLineWidth, lineWidth); } - var width = maxLineWidth + style.strokeThickness; + let width = maxLineWidth + style.strokeThickness; if (style.dropShadow) { width += style.dropShadowDistance; @@ -149,9 +149,9 @@ this.canvas.width = Math.ceil( ( width + this.context.lineWidth ) * this.resolution ); // calculate text height - var lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; + let lineHeight = this.style.lineHeight || fontProperties.fontSize + style.strokeThickness; - var height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; + let height = Math.max(lineHeight, fontProperties.fontSize + style.strokeThickness) + (lines.length - 1) * lineHeight; if (style.dropShadow) { height += style.dropShadowDistance; @@ -177,8 +177,8 @@ this.context.lineJoin = style.lineJoin; this.context.miterLimit = style.miterLimit; - var linePositionX; - var linePositionY; + let linePositionX; + let linePositionY; if (style.dropShadow) { @@ -189,8 +189,8 @@ this.context.fillStyle = style.dropShadowColor; } - var xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; - var yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; + let xShadowOffset = Math.cos(style.dropShadowAngle) * style.dropShadowDistance; + let yShadowOffset = Math.sin(style.dropShadowAngle) * style.dropShadowDistance; for (i = 0; i < lines.length; i++) { @@ -262,10 +262,10 @@ */ drawLetterSpacing(text, x, y, isStroke) { - var style = this._style; + let style = this._style; // letterSpacing of 0 means normal - var letterSpacing = style.letterSpacing; + let letterSpacing = style.letterSpacing; if (letterSpacing === 0) { @@ -280,7 +280,7 @@ return; } - var characters = String.prototype.split.call(text, ''), + let characters = String.prototype.split.call(text, ''), index = 0, current, currentPosition = x; @@ -307,8 +307,8 @@ */ updateTexture() { - var texture = this._texture; - var style = this._style; + let texture = this._texture; + let style = this._style; texture.baseTexture.hasLoaded = true; texture.baseTexture.resolution = this.resolution; @@ -380,20 +380,20 @@ */ determineFontProperties(fontStyle) { - var properties = Text.fontPropertiesCache[fontStyle]; + let properties = Text.fontPropertiesCache[fontStyle]; if (!properties) { properties = {}; - var canvas = Text.fontPropertiesCanvas; - var context = Text.fontPropertiesContext; + let canvas = Text.fontPropertiesCanvas; + let context = Text.fontPropertiesContext; context.font = fontStyle; - var width = Math.ceil(context.measureText('|MÉq').width); - var baseline = Math.ceil(context.measureText('M').width); - var height = 2 * baseline; + let width = Math.ceil(context.measureText('|MÉq').width); + let baseline = Math.ceil(context.measureText('M').width); + let height = 2 * baseline; baseline = baseline * 1.4 | 0; @@ -409,14 +409,14 @@ context.fillStyle = '#000'; context.fillText('|MÉq', 0, baseline); - var imagedata = context.getImageData(0, 0, width, height).data; - var pixels = imagedata.length; - var line = width * 4; + let imagedata = context.getImageData(0, 0, width, height).data; + let pixels = imagedata.length; + let line = width * 4; - var i, j; + let i, j; - var idx = 0; - var stop = false; + let idx = 0; + let stop = false; // ascent. scan from top to bottom until we find a non red pixel for (i = 0; i < baseline; i++) @@ -486,23 +486,23 @@ { // Greedy wrapping algorithm that will wrap words as the line grows longer // than its horizontal bounds. - var result = ''; - var lines = text.split('\n'); - var wordWrapWidth = this._style.wordWrapWidth; - for (var i = 0; i < lines.length; i++) + let result = ''; + let lines = text.split('\n'); + let wordWrapWidth = this._style.wordWrapWidth; + for (let i = 0; i < lines.length; i++) { - var spaceLeft = wordWrapWidth; - var words = lines[i].split(' '); - for (var j = 0; j < words.length; j++) + let spaceLeft = wordWrapWidth; + let words = lines[i].split(' '); + for (let j = 0; j < words.length; j++) { - var wordWidth = this.context.measureText(words[j]).width; + let wordWidth = this.context.measureText(words[j]).width; if (this._style.breakWords && wordWidth > wordWrapWidth) { // Word should be split in the middle - var characters = words[j].split(''); - for (var c = 0; c < characters.length; c++) + let characters = words[j].split(''); + for (let c = 0; c < characters.length; c++) { - var characterWidth = this.context.measureText(characters[c]).width; + let characterWidth = this.context.measureText(characters[c]).width; if (characterWidth > spaceLeft) { result += '\n' + characters[c]; @@ -521,7 +521,7 @@ } else { - var wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; + let wordWidthWithSpace = wordWidth + this.context.measureText(' ').width; if (j === 0 || wordWidthWithSpace > spaceLeft) { // Skip printing the newline if it's the first word of the line that is @@ -584,14 +584,14 @@ { // the gradient will be evenly spaced out according to how large the array is. // ['#FF0000', '#00FF00', '#0000FF'] would created stops at 0.25, 0.5 and 0.75 - var i; - var gradient; - var totalIterations; - var currentIteration; - var stop; + let i; + let gradient; + let totalIterations; + let currentIteration; + let stop; - var width = this.canvas.width / this.resolution; - var height = this.canvas.height / this.resolution; + let width = this.canvas.width / this.resolution; + let height = this.canvas.height / this.resolution; if (style.fillGradientType === CONST.TEXT_GRADIENT.LINEAR_VERTICAL) { @@ -605,7 +605,7 @@ for (i = 0; i < lines.length; i++) { currentIteration += 1; - for (var j = 0; j < style.fill.length; j++) + for (let j = 0; j < style.fill.length; j++) { stop = (currentIteration / totalIterations); gradient.addColorStop(stop, style.fill[j]); @@ -688,7 +688,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.x) || 1; + let sign = utils.sign(this.scale.x) || 1; this.scale.x = sign * value / this.texture.orig.width; this._width = value; } @@ -711,7 +711,7 @@ { this.updateText(true); - var sign = utils.sign(this.scale.y) || 1; + let sign = utils.sign(this.scale.y) || 1; this.scale.y = sign * value / this.texture.orig.height; this._height = value; } diff --git a/src/core/text/TextStyle.js b/src/core/text/TextStyle.js index 4506e7e..19dd4b2 100644 --- a/src/core/text/TextStyle.js +++ b/src/core/text/TextStyle.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), utils = require('../utils'); /** @@ -52,8 +52,8 @@ */ clone() { - var clonedProperties = {}; - for (var key in this._defaults) + let clonedProperties = {}; + for (let key in this._defaults) { clonedProperties[key] = this[key]; } @@ -186,7 +186,7 @@ }, set: function (dropShadowColor) { - var outputColor = getColor(dropShadowColor); + let outputColor = getColor(dropShadowColor); if (this._dropShadowColor !== outputColor) { this._dropShadowColor = outputColor; @@ -217,7 +217,7 @@ }, set: function (fill) { - var outputColor = getColor(fill); + let outputColor = getColor(fill); if (this._fill !== outputColor) { this._fill = outputColor; @@ -398,7 +398,7 @@ }, set: function (stroke) { - var outputColor = getColor(stroke); + let outputColor = getColor(stroke); if (this._stroke !== outputColor) { this._stroke = outputColor; @@ -481,7 +481,7 @@ } else if (Array.isArray(color)) { - for (var i = 0; i < color.length; ++i) + for (let i = 0; i < color.length; ++i) { if (typeof color[i] === 'number') { diff --git a/src/core/textures/BaseRenderTexture.js b/src/core/textures/BaseRenderTexture.js index 972c26e..3fcb3b7 100644 --- a/src/core/textures/BaseRenderTexture.js +++ b/src/core/textures/BaseRenderTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), CONST = require('../const'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let BaserenderTexture = new PIXI.BaseRenderTexture(renderer, 800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,12 +27,12 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * - * var baseRenderTexture = new PIXI.BaserenderTexture(100, 100); - * var renderTexture = new PIXI.RenderTexture(baseRenderTexture); + * let baseRenderTexture = new PIXI.BaserenderTexture(100, 100); + * let renderTexture = new PIXI.RenderTexture(baseRenderTexture); * * renderer.render(doc, renderTexture); // Renders to center of RenderTexture * ``` diff --git a/src/core/textures/BaseTexture.js b/src/core/textures/BaseTexture.js index d3df3a2..c018b8f 100644 --- a/src/core/textures/BaseTexture.js +++ b/src/core/textures/BaseTexture.js @@ -1,4 +1,4 @@ -var utils = require('../utils'), +let utils = require('../utils'), CONST = require('../const'), EventEmitter = require('eventemitter3'), determineCrossOrigin = require('../utils/determineCrossOrigin'), @@ -222,7 +222,7 @@ */ loadSource(source) { - var wasLoading = this.isLoading; + let wasLoading = this.isLoading; this.hasLoaded = false; this.isLoading = false; @@ -245,7 +245,7 @@ // Image fail / not ready this.isLoading = true; - var scope = this; + let scope = this; source.onload = function () { @@ -390,13 +390,13 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var baseTexture = utils.BaseTextureCache[imageUrl]; + let baseTexture = utils.BaseTextureCache[imageUrl]; if (!baseTexture) { // new Image() breaks tex loading in some versions of Chrome. // See https://code.google.com/p/chromium/issues/detail?id=238071 - var image = new Image();//document.createElement('img'); + let image = new Image();//document.createElement('img'); if (crossorigin === undefined && imageUrl.indexOf('data:') !== 0) @@ -433,7 +433,7 @@ canvas._pixiId = 'canvas_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[canvas._pixiId]; + let baseTexture = utils.BaseTextureCache[canvas._pixiId]; if (!baseTexture) { diff --git a/src/core/textures/RenderTexture.js b/src/core/textures/RenderTexture.js index 7930b21..a481162 100644 --- a/src/core/textures/RenderTexture.js +++ b/src/core/textures/RenderTexture.js @@ -1,4 +1,4 @@ -var BaseRenderTexture = require('./BaseRenderTexture'), +let BaseRenderTexture = require('./BaseRenderTexture'), Texture = require('./Texture'); /** @@ -11,9 +11,9 @@ * and rotation of the given Display Objects is ignored. For example: * * ```js - * var renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); - * var renderTexture = PIXI.RenderTexture.create(800, 600); - * var sprite = PIXI.Sprite.fromImage("spinObj_01.png"); + * let renderer = PIXI.autoDetectRenderer(1024, 1024, { view: canvas, ratio: 1 }); + * let renderTexture = PIXI.RenderTexture.create(800, 600); + * let sprite = PIXI.Sprite.fromImage("spinObj_01.png"); * * sprite.position.x = 800/2; * sprite.position.y = 600/2; @@ -27,7 +27,7 @@ * position a Container should be used: * * ```js - * var doc = new PIXI.Container(); + * let doc = new PIXI.Container(); * * doc.addChild(sprite); * @@ -48,10 +48,10 @@ if( !(baseRenderTexture instanceof BaseRenderTexture) ) { - var width = arguments[1]; - var height = arguments[2]; - var scaleMode = arguments[3] || 0; - var resolution = arguments[4] || 1; + let width = arguments[1]; + let height = arguments[2]; + let scaleMode = arguments[3] || 0; + let resolution = arguments[4] || 1; // we have an old render texture.. console.warn('v4 RenderTexture now expects a new BaseRenderTexture. Please use RenderTexture.create('+width+', '+height+')'); // jshint ignore:line diff --git a/src/core/textures/Texture.js b/src/core/textures/Texture.js index ebbfa17..009b52b 100644 --- a/src/core/textures/Texture.js +++ b/src/core/textures/Texture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), VideoBaseTexture = require('./VideoBaseTexture'), TextureUvs = require('./TextureUvs'), EventEmitter = require('eventemitter3'), @@ -12,9 +12,9 @@ * You can directly create a texture from an image and then reuse it multiple times like this : * * ```js - * var texture = PIXI.Texture.fromImage('assets/image.png'); - * var sprite1 = new PIXI.Sprite(texture); - * var sprite2 = new PIXI.Sprite(texture); + * let texture = PIXI.Texture.fromImage('assets/image.png'); + * let sprite1 = new PIXI.Sprite(texture); + * let sprite2 = new PIXI.Sprite(texture); * ``` * * @class @@ -264,7 +264,7 @@ */ static fromImage(imageUrl, crossorigin, scaleMode) { - var texture = utils.TextureCache[imageUrl]; + let texture = utils.TextureCache[imageUrl]; if (!texture) { @@ -285,7 +285,7 @@ */ static fromFrame(frameId) { - var texture = utils.TextureCache[frameId]; + let texture = utils.TextureCache[frameId]; if (!texture) { @@ -355,12 +355,12 @@ //TODO pass in scale mode? if(typeof source === 'string') { - var texture = utils.TextureCache[source]; + let texture = utils.TextureCache[source]; if (!texture) { // check if its a video.. - var isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; + let isVideo = source.match(/\.(mp4|webm|ogg|h264|avi|mov)$/) !== null; if(isVideo) { return Texture.fromVideoUrl(source); @@ -412,7 +412,7 @@ */ static removeTextureFromCache(id) { - var texture = utils.TextureCache[id]; + let texture = utils.TextureCache[id]; delete utils.TextureCache[id]; delete utils.BaseTextureCache[id]; diff --git a/src/core/textures/TextureUvs.js b/src/core/textures/TextureUvs.js index 139730c..285dd0a 100644 --- a/src/core/textures/TextureUvs.js +++ b/src/core/textures/TextureUvs.js @@ -1,4 +1,4 @@ -var GroupD8 = require('../math/GroupD8'); +let GroupD8 = require('../math/GroupD8'); /** * A standard object to store the Uvs of a texture @@ -34,17 +34,17 @@ */ set(frame, baseFrame, rotate) { - var tw = baseFrame.width; - var th = baseFrame.height; + let tw = baseFrame.width; + let th = baseFrame.height; if(rotate) { //width and height div 2 div baseFrame size - var w2 = frame.width / 2 / tw; - var h2 = frame.height / 2 / th; + let w2 = frame.width / 2 / tw; + let h2 = frame.height / 2 / th; //coordinates of center - var cX = frame.x / tw + w2; - var cY = frame.y / th + h2; + let cX = frame.x / tw + w2; + let cY = frame.y / th + h2; rotate = GroupD8.add(rotate, GroupD8.NW); //NW is top-left corner this.x0 = cX + w2 * GroupD8.uX(rotate); this.y0 = cY + h2 * GroupD8.uY(rotate); diff --git a/src/core/textures/VideoBaseTexture.js b/src/core/textures/VideoBaseTexture.js index e2d47a9..d27bc63 100644 --- a/src/core/textures/VideoBaseTexture.js +++ b/src/core/textures/VideoBaseTexture.js @@ -1,4 +1,4 @@ -var BaseTexture = require('./BaseTexture'), +let BaseTexture = require('./BaseTexture'), utils = require('../utils'); /** @@ -9,13 +9,13 @@ * This can be used in several ways, such as: * * ```js - * var texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); + * let texture = PIXI.VideoBaseTexture.fromUrl('http://mydomain.com/video.mp4'); * - * var texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); + * let texture = PIXI.VideoBaseTexture.fromUrl({ src: 'http://mydomain.com/video.mp4', mime: 'video/mp4' }); * - * var texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); + * let texture = PIXI.VideoBaseTexture.fromUrls(['/video.webm', '/video.mp4']); * - * var texture = PIXI.VideoBaseTexture.fromUrls([ + * let texture = PIXI.VideoBaseTexture.fromUrls([ * { src: '/video.webm', mime: 'video/webm' }, * { src: '/video.mp4', mime: 'video/mp4' } * ]); @@ -173,7 +173,7 @@ video._pixiId = 'video_' + utils.uid(); } - var baseTexture = utils.BaseTextureCache[video._pixiId]; + let baseTexture = utils.BaseTextureCache[video._pixiId]; if (!baseTexture) { @@ -198,12 +198,12 @@ */ static fromUrl(videoSrc, scaleMode) { - var video = document.createElement('video'); + let video = document.createElement('video'); // array of objects or strings if (Array.isArray(videoSrc)) { - for (var i = 0; i < videoSrc.length; ++i) + for (let i = 0; i < videoSrc.length; ++i) { video.appendChild(createSource(videoSrc[i].src || videoSrc[i], videoSrc[i].mime)); } @@ -233,7 +233,7 @@ type = 'video/' + path.substr(path.lastIndexOf('.') + 1); } - var source = document.createElement('source'); + let source = document.createElement('source'); source.src = path; source.type = type; diff --git a/src/core/ticker/Ticker.js b/src/core/ticker/Ticker.js index f036a87..14a3453 100644 --- a/src/core/ticker/Ticker.js +++ b/src/core/ticker/Ticker.js @@ -1,4 +1,4 @@ -var CONST = require('../const'), +let CONST = require('../const'), EventEmitter = require('eventemitter3'), // Internal event used by composed emitter TICK = 'tick'; @@ -118,7 +118,7 @@ */ _tick(time) { - var _this = this; + let _this = this; _this._requestId = null; @@ -285,7 +285,7 @@ */ update(currentTime) { - var elapsedMS; + let elapsedMS; // Allow calling update directly with default currentTime. currentTime = currentTime || performance.now(); @@ -368,7 +368,7 @@ set: function(fps) { // Clamp: 0 to TARGET_FPMS - var minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); + let minFPMS = Math.min(Math.max(0, fps) / 1000, CONST.TARGET_FPMS); this._maxElapsedMS = 1 / minFPMS; } } diff --git a/src/core/ticker/index.js b/src/core/ticker/index.js index c7b45db..f3c0440 100644 --- a/src/core/ticker/index.js +++ b/src/core/ticker/index.js @@ -1,4 +1,4 @@ -var Ticker = require('./Ticker'); +let Ticker = require('./Ticker'); /** * The shared ticker instance used by {@link PIXI.extras.MovieClip}. @@ -8,7 +8,7 @@ * how to opt-out of auto-starting the shared ticker. * * @example - * var ticker = PIXI.ticker.shared; + * let ticker = PIXI.ticker.shared; * // Set this to prevent starting this ticker when listeners are added. * // By default this is true only for the PIXI.ticker.shared instance. * ticker.autoStart = false; @@ -20,9 +20,9 @@ * * @example * // You may use the shared ticker to render... - * var renderer = PIXI.autoDetectRenderer(800, 600); - * var stage = new PIXI.Container(); - * var interactionManager = PIXI.interaction.InteractionManager(renderer); + * let renderer = PIXI.autoDetectRenderer(800, 600); + * let stage = new PIXI.Container(); + * let interactionManager = PIXI.interaction.InteractionManager(renderer); * document.body.appendChild(renderer.view); * ticker.add(function (time) { * renderer.render(stage); @@ -42,7 +42,7 @@ * @type {PIXI.ticker.Ticker} * @memberof PIXI.ticker */ -var shared = new Ticker(); +let shared = new Ticker(); shared.autoStart = true; /** diff --git a/src/core/utils/createIndicesForQuads.js b/src/core/utils/createIndicesForQuads.js index 878dd0f..bc42402 100644 --- a/src/core/utils/createIndicesForQuads.js +++ b/src/core/utils/createIndicesForQuads.js @@ -5,16 +5,16 @@ * @param size {number} Number of quads * @return {Uint16Array} indices */ -var createIndicesForQuads = function (size) +let createIndicesForQuads = function (size) { // the total number of indices in our array, there are 6 points per quad. - var totalIndices = size * 6; + let totalIndices = size * 6; - var indices = new Uint16Array(totalIndices); + let indices = new Uint16Array(totalIndices); // fill the indices with the quads to draw - for (var i=0, j=0; i < totalIndices; i += 6, j += 4) + for (let i=0, j=0; i < totalIndices; i += 6, j += 4) { indices[i + 0] = j + 0; indices[i + 1] = j + 1; diff --git a/src/core/utils/determineCrossOrigin.js b/src/core/utils/determineCrossOrigin.js index 0761753..907b1f1 100644 --- a/src/core/utils/determineCrossOrigin.js +++ b/src/core/utils/determineCrossOrigin.js @@ -1,5 +1,5 @@ -var tempAnchor; -var _url = require('url'); +let tempAnchor; +let _url = require('url'); /** * Sets the `crossOrigin` property for this resource based on if the url @@ -11,7 +11,7 @@ * @param loc [location=window.location] {object} The location object to test against. * @return {string} The crossOrigin value to use (or empty string for none). */ -var determineCrossOrigin = function (url, loc) { +let determineCrossOrigin = function (url, loc) { // data: and javascript: urls are considered same-origin if (url.indexOf('data:') === 0) { return ''; @@ -30,7 +30,7 @@ tempAnchor.href = url; url = _url.parse(tempAnchor.href); - var samePort = (!url.port && loc.port === '') || (url.port === loc.port); + let samePort = (!url.port && loc.port === '') || (url.port === loc.port); // if cross origin if (url.hostname !== loc.hostname || !samePort || url.protocol !== loc.protocol) { diff --git a/src/core/utils/index.js b/src/core/utils/index.js index b10278a..50a0e60 100644 --- a/src/core/utils/index.js +++ b/src/core/utils/index.js @@ -1,9 +1,9 @@ -var CONST = require('../const'); +let CONST = require('../const'); /** * @namespace PIXI.utils */ -var utils = module.exports = { +let utils = module.exports = { _uid: 0, _saidHello: false, @@ -78,7 +78,7 @@ */ getResolutionOfUrl: function (url) { - var resolution = CONST.RETINA_PREFIX.exec(url); + let resolution = CONST.RETINA_PREFIX.exec(url); if (resolution) { @@ -108,7 +108,7 @@ if (navigator.userAgent.toLowerCase().indexOf('chrome') > -1) { - var args = [ + let args = [ '\n %c %c %c Pixi.js ' + CONST.VERSION + ' - ✰ ' + type + ' ✰ %c ' + ' %c ' + ' http://www.pixijs.com/ %c %c ♥%c♥%c♥ \n\n', 'background: #ff66a5; padding:5px 0;', 'background: #ff66a5; padding:5px 0;', @@ -139,7 +139,7 @@ */ isWebGLSupported: function () { - var contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; + let contextOptions = { stencil: true, failIfMajorPerformanceCaveat: true }; try { if (!window.WebGLRenderingContext) @@ -147,13 +147,13 @@ return false; } - var canvas = document.createElement('canvas'), + let canvas = document.createElement('canvas'), gl = canvas.getContext('webgl', contextOptions) || canvas.getContext('experimental-webgl', contextOptions); - var success = !!(gl && gl.getContextAttributes().stencil); + let success = !!(gl && gl.getContextAttributes().stencil); if (gl) { - var loseContext = gl.getExtension('WEBGL_lose_context'); + let loseContext = gl.getExtension('WEBGL_lose_context'); if(loseContext) { @@ -192,7 +192,7 @@ */ removeItems: function (arr, startIdx, removeCount) { - var length = arr.length; + let length = arr.length; if (startIdx >= length || removeCount === 0) { @@ -200,7 +200,8 @@ } removeCount = (startIdx+removeCount > length ? length-startIdx : removeCount); - for (var i = startIdx, len = length-removeCount; i < len; ++i) + let len = length-removeCount; + for (let i = startIdx; i < len; ++i) { arr[i] = arr[i + removeCount]; } diff --git a/src/core/utils/maxRecommendedTextures.js b/src/core/utils/maxRecommendedTextures.js index c80a980..c75e339 100644 --- a/src/core/utils/maxRecommendedTextures.js +++ b/src/core/utils/maxRecommendedTextures.js @@ -1,8 +1,8 @@ -var Device = require('ismobilejs'); +let Device = require('ismobilejs'); -var maxRecommendedTextures = function(max) +let maxRecommendedTextures = function(max) { if(Device.tablet || Device.phone) diff --git a/src/core/utils/pluginTarget.js b/src/core/utils/pluginTarget.js index f68740c..1ee40db 100644 --- a/src/core/utils/pluginTarget.js +++ b/src/core/utils/pluginTarget.js @@ -32,7 +32,7 @@ { this.plugins = this.plugins || {}; - for (var o in obj.__plugins) + for (let o in obj.__plugins) { this.plugins[o] = new (obj.__plugins[o])(this); } @@ -44,7 +44,7 @@ */ obj.prototype.destroyPlugins = function () { - for (var o in this.plugins) + for (let o in this.plugins) { this.plugins[o].destroy(); this.plugins[o] = null; diff --git a/src/deprecation.js b/src/deprecation.js index 4bcd914..b058664 100644 --- a/src/deprecation.js +++ b/src/deprecation.js @@ -1,5 +1,5 @@ /*global console */ -var core = require('./core'), +let core = require('./core'), mesh = require('./mesh'), particles = require('./particles'), extras = require('./extras'), @@ -10,7 +10,7 @@ // useful for tracking-down where deprecated methods/properties/classes // are being used within the code function warn(msg) { - var stack = new Error().stack; + let stack = new Error().stack; // Handle IE < 10 and Safari < 6 if (typeof stack === 'undefined') { @@ -462,7 +462,7 @@ // @if DEBUG warn('text style property \'font\' is now deprecated, please use the \'fontFamily\',\'fontSize\',fontStyle\',\'fontVariant\' and \'fontWeight\' properties from now on'); // @endif - var fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; + let fontSizeString = (typeof this._fontSize === 'number') ? this._fontSize + 'px' : this._fontSize; return this._fontStyle + ' ' + this._fontVariant + ' ' + this._fontWeight + ' ' + fontSizeString + ' ' + this._fontFamily; }, set: function (font) @@ -496,9 +496,9 @@ } // fontWeight and fontFamily are tricker to find, but it's easier to find the fontSize due to it's units - var splits = font.split(' '); - var i; - var fontSizeIndex = -1; + let splits = font.split(' '); + let i; + let fontSizeIndex = -1; this._fontSize = 26; for ( i = 0; i < splits.length; ++i ) diff --git a/src/extract/canvas/CanvasExtract.js b/src/extract/canvas/CanvasExtract.js index 0897c51..cd6a094 100644 --- a/src/extract/canvas/CanvasExtract.js +++ b/src/extract/canvas/CanvasExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,11 +44,11 @@ */ canvas( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { @@ -78,11 +78,11 @@ frame.height = this.renderer.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); - var canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasData = context.getImageData(frame.x * resolution, frame.y * resolution, width, height); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -97,11 +97,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var context; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let context; + let resolution; + let frame; + let renderTexture; if(target) { diff --git a/src/extract/webgl/WebGLExtract.js b/src/extract/webgl/WebGLExtract.js index aabc2d2..1fb479c 100644 --- a/src/extract/webgl/WebGLExtract.js +++ b/src/extract/webgl/WebGLExtract.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), tempRect = new core.Rectangle(); /** @@ -22,7 +22,7 @@ */ image( target ) { - var image = new Image(); + let image = new Image(); image.src = this.base64( target ); return image; } @@ -44,12 +44,12 @@ */ canvas( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var flipY = false; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let flipY = false; + let renderTexture; if(target) { @@ -85,10 +85,10 @@ - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var canvasBuffer = new core.CanvasRenderTarget(width, height); + let canvasBuffer = new core.CanvasRenderTarget(width, height); if(textureBuffer) { @@ -96,14 +96,14 @@ renderer.bindRenderTarget(textureBuffer); // set up an array of pixels - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); // add the pixels to the canvas - var canvasData = canvasBuffer.context.getImageData(0, 0, width, height); + let canvasData = canvasBuffer.context.getImageData(0, 0, width, height); canvasData.data.set(webGLPixels); canvasBuffer.context.putImageData(canvasData, 0, 0); @@ -127,11 +127,11 @@ */ pixels( target ) { - var renderer = this.renderer; - var textureBuffer; - var resolution; - var frame; - var renderTexture; + let renderer = this.renderer; + let textureBuffer; + let resolution; + let frame; + let renderTexture; if(target) { @@ -162,17 +162,17 @@ frame.height = textureBuffer.size.height; } - var width = frame.width * resolution; - var height = frame.height * resolution; + let width = frame.width * resolution; + let height = frame.height * resolution; - var webGLPixels = new Uint8Array(4 * width * height); + let webGLPixels = new Uint8Array(4 * width * height); if(textureBuffer) { // bind the buffer renderer.bindRenderTarget(textureBuffer); // read pixels to the array - var gl = renderer.gl; + let gl = renderer.gl; gl.readPixels(frame.x * resolution, frame.y * resolution, width, height, gl.RGBA, gl.UNSIGNED_BYTE, webGLPixels); } diff --git a/src/extras/BitmapText.js b/src/extras/BitmapText.js index e7d9a05..b13b895 100644 --- a/src/extras/BitmapText.js +++ b/src/extras/BitmapText.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), ObservablePoint = require('../core/math/ObservablePoint'); /** @@ -9,7 +9,7 @@ * * ```js * // in this case the font is in a file called 'desyrel.fnt' - * var bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); + * let bitmapText = new PIXI.extras.BitmapText("text using a fancy font!", {font: "35px Desyrel", align: "right"}); * ``` * * http://www.angelcode.com/products/bmfont/ for windows or @@ -130,22 +130,22 @@ */ updateText() { - var data = BitmapText.fonts[this._font.name]; - var pos = new core.Point(); - var prevCharCode = null; - var chars = []; - var lastLineWidth = 0; - var maxLineWidth = 0; - var lineWidths = []; - var line = 0; - var scale = this._font.size / data.size; - var lastSpace = -1; - var lastSpaceWidth = 0; - var maxLineHeight = 0; + let data = BitmapText.fonts[this._font.name]; + let pos = new core.Point(); + let prevCharCode = null; + let chars = []; + let lastLineWidth = 0; + let maxLineWidth = 0; + let lineWidths = []; + let line = 0; + let scale = this._font.size / data.size; + let lastSpace = -1; + let lastSpaceWidth = 0; + let maxLineHeight = 0; - for (var i = 0; i < this.text.length; i++) + for (let i = 0; i < this.text.length; i++) { - var charCode = this.text.charCodeAt(i); + let charCode = this.text.charCodeAt(i); if(/(\s)/.test(this.text.charAt(i))){ lastSpace = i; @@ -180,7 +180,7 @@ continue; } - var charData = data.chars[charCode]; + let charData = data.chars[charCode]; if (!charData) { @@ -202,11 +202,11 @@ lineWidths.push(lastLineWidth); maxLineWidth = Math.max(maxLineWidth, lastLineWidth); - var lineAlignOffsets = []; + let lineAlignOffsets = []; - for (i = 0; i <= line; i++) + for (let i = 0; i <= line; i++) { - var alignOffset = 0; + let alignOffset = 0; if (this._font.align === 'right') { @@ -220,12 +220,12 @@ lineAlignOffsets.push(alignOffset); } - var lenChars = chars.length; - var tint = this.tint; + let lenChars = chars.length; + let tint = this.tint; - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { - var c = this._glyphs[i]; // get the next glyph sprite + let c = this._glyphs[i]; // get the next glyph sprite if (c) { @@ -249,7 +249,7 @@ } // remove unnecessary children. - for (i = lenChars; i < this._glyphs.length; ++i) + for (let i = lenChars; i < this._glyphs.length; ++i) { this.removeChild(this._glyphs[i]); } @@ -260,7 +260,7 @@ // apply anchor if (this.anchor.x !== 0 || this.anchor.y !== 0) { - for (i = 0; i < lenChars; i++) + for (let i = 0; i < lenChars; i++) { this._glyphs[i].x -= this.textWidth * this.anchor.x; this._glyphs[i].y -= this.textHeight * this.anchor.y; diff --git a/src/extras/MovieClip.js b/src/extras/MovieClip.js index 32fa2f8..7724a94 100644 --- a/src/extras/MovieClip.js +++ b/src/extras/MovieClip.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * @typedef FrameObject @@ -11,16 +11,16 @@ * A MovieClip is a simple way to display an animation depicted by a list of textures. * * ```js - * var alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; - * var textureArray = []; + * let alienImages = ["image_sequence_01.png","image_sequence_02.png","image_sequence_03.png","image_sequence_04.png"]; + * let textureArray = []; * - * for (var i=0; i < 4; i++) + * for (let i=0; i < 4; i++) * { - * var texture = PIXI.Texture.fromImage(alienImages[i]); + * let texture = PIXI.Texture.fromImage(alienImages[i]); * textureArray.push(texture); * }; * - * var mc = new PIXI.MovieClip(textureArray); + * let mc = new PIXI.MovieClip(textureArray); * ``` * * @@ -150,11 +150,11 @@ */ update(deltaTime) { - var elapsed = this.animationSpeed * deltaTime; + let elapsed = this.animationSpeed * deltaTime; if (this._durations !== null) { - var lag = this._currentTime % 1 * this._durations[this.currentFrame]; + let lag = this._currentTime % 1 * this._durations[this.currentFrame]; lag += elapsed / 60 * 1000; @@ -164,7 +164,7 @@ lag += this._durations[this.currentFrame]; } - var sign = Math.sign(this.animationSpeed * deltaTime); + let sign = Math.sign(this.animationSpeed * deltaTime); this._currentTime = Math.floor(this._currentTime); while (lag >= this._durations[this.currentFrame]) @@ -224,9 +224,9 @@ */ static fromFrames(frames) { - var textures = []; + let textures = []; - for (var i = 0; i < frames.length; ++i) + for (let i = 0; i < frames.length; ++i) { textures.push(core.Texture.fromFrame(frames[i])); } @@ -242,9 +242,9 @@ */ static fromImages(images) { - var textures = []; + let textures = []; - for (var i = 0; i < images.length; ++i) + for (let i = 0; i < images.length; ++i) { textures.push(core.Texture.fromImage(images[i])); } @@ -296,7 +296,7 @@ { this._textures = []; this._durations = []; - for(var i = 0; i < value.length; i++) + for(let i = 0; i < value.length; i++) { this._textures.push(value[i].texture); this._durations.push(value[i].time); @@ -315,7 +315,7 @@ currentFrame: { get: function () { - var currentFrame = Math.floor(this._currentTime) % this._textures.length; + let currentFrame = Math.floor(this._currentTime) % this._textures.length; if (currentFrame < 0) { currentFrame += this._textures.length; diff --git a/src/extras/TilingSprite.js b/src/extras/TilingSprite.js index df2d9e5..3e04c71 100644 --- a/src/extras/TilingSprite.js +++ b/src/extras/TilingSprite.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), tempPoint = new core.Point(), Texture = require('../core/textures/Texture'), CanvasTinter = require('../core/sprites/canvas/CanvasTinter'), @@ -81,7 +81,7 @@ { // tweak our texture temporarily.. - var texture = this._texture; + let texture = this._texture; if(!texture || !texture._uvs) { @@ -91,8 +91,8 @@ // get rid of any thing that may be batching. renderer.flush(); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -107,7 +107,7 @@ } // if the sprite is trimmed and is not a tilingsprite then we need to add the extra space before transforming the sprite coords.. - var vertices = glData.quad.vertices; + let vertices = glData.quad.vertices; vertices[0] = vertices[6] = ( this._width ) * -this.anchor.x; vertices[1] = vertices[3] = this._height * -this.anchor.y; @@ -119,25 +119,25 @@ renderer.bindShader(glData.shader); - var textureUvs = texture._uvs, + let textureUvs = texture._uvs, textureWidth = texture._frame.width, textureHeight = texture._frame.height, textureBaseWidth = texture.baseTexture.width, textureBaseHeight = texture.baseTexture.height; - var uPixelSize = glData.shader.uniforms.uPixelSize; + let uPixelSize = glData.shader.uniforms.uPixelSize; uPixelSize[0] = 1.0/textureBaseWidth; uPixelSize[1] = 1.0/textureBaseHeight; glData.shader.uniforms.uPixelSize = uPixelSize; - var uFrame = glData.shader.uniforms.uFrame; + let uFrame = glData.shader.uniforms.uFrame; uFrame[0] = textureUvs.x0; uFrame[1] = textureUvs.y0; uFrame[2] = textureUvs.x1 - textureUvs.x0; uFrame[3] = textureUvs.y2 - textureUvs.y0; glData.shader.uniforms.uFrame = uFrame; - var uTransform = glData.shader.uniforms.uTransform; + let uTransform = glData.shader.uniforms.uTransform; uTransform[0] = (this.tilePosition.x % (textureWidth * this.tileScale.x)) / this._width; uTransform[1] = (this.tilePosition.y % (textureHeight * this.tileScale.y)) / this._height; uTransform[2] = ( textureBaseWidth / this._width ) * this.tileScale.x; @@ -146,7 +146,7 @@ glData.shader.uniforms.translationMatrix = this.worldTransform.toArray(true); - var color = tempArray; + let color = tempArray; core.utils.hex2rgb(this.tint, color); color[3] = this.worldAlpha; @@ -167,14 +167,14 @@ */ _renderCanvas(renderer) { - var texture = this._texture; + let texture = this._texture; if (!texture.baseTexture.hasLoaded) { return; } - var context = renderer.context, + let context = renderer.context, transform = this.worldTransform, resolution = renderer.resolution, baseTexture = texture.baseTexture, @@ -186,7 +186,7 @@ if(!this._canvasPattern) { // cut an object from a spritesheet.. - var tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); + let tempCanvas = new core.CanvasRenderTarget(texture._frame.width, texture._frame.height); // Tint the tiling sprite if (this.tint !== 0xFFFFFF) @@ -222,7 +222,7 @@ modY + (this.anchor.y * -this._height)); // check blend mode - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== renderer.context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -249,37 +249,37 @@ */ getBounds() { - var width = this._width; - var height = this._height; + let width = this._width; + let height = this._height; - var w0 = width * (1-this.anchor.x); - var w1 = width * -this.anchor.x; + let w0 = width * (1-this.anchor.x); + let w1 = width * -this.anchor.x; - var h0 = height * (1-this.anchor.y); - var h1 = height * -this.anchor.y; + let h0 = height * (1-this.anchor.y); + let h1 = height * -this.anchor.y; - var worldTransform = this.worldTransform; + let worldTransform = this.worldTransform; - var a = worldTransform.a; - var b = worldTransform.b; - var c = worldTransform.c; - var d = worldTransform.d; - var tx = worldTransform.tx; - var ty = worldTransform.ty; + let a = worldTransform.a; + let b = worldTransform.b; + let c = worldTransform.c; + let d = worldTransform.d; + let tx = worldTransform.tx; + let ty = worldTransform.ty; - var x1 = a * w1 + c * h1 + tx; - var y1 = d * h1 + b * w1 + ty; + let x1 = a * w1 + c * h1 + tx; + let y1 = d * h1 + b * w1 + ty; - var x2 = a * w0 + c * h1 + tx; - var y2 = d * h1 + b * w0 + ty; + let x2 = a * w0 + c * h1 + tx; + let y2 = d * h1 + b * w0 + ty; - var x3 = a * w0 + c * h0 + tx; - var y3 = d * h0 + b * w0 + ty; + let x3 = a * w0 + c * h0 + tx; + let y3 = d * h0 + b * w0 + ty; - var x4 = a * w1 + c * h0 + tx; - var y4 = d * h0 + b * w1 + ty; + let x4 = a * w1 + c * h0 + tx; + let y4 = d * h0 + b * w1 + ty; - var minX, + let minX, maxX, minY, maxY; @@ -304,7 +304,7 @@ maxY = y3 > maxY ? y3 : maxY; maxY = y4 > maxY ? y4 : maxY; - var bounds = this._bounds; + let bounds = this._bounds; bounds.x = minX; bounds.width = maxX - minX; @@ -326,10 +326,10 @@ { this.worldTransform.applyInverse(point, tempPoint); - var width = this._width; - var height = this._height; - var x1 = -width * this.anchor.x; - var y1; + let width = this._width; + let height = this._height; + let x1 = -width * this.anchor.x; + let y1; if ( tempPoint.x > x1 && tempPoint.x < x1 + width ) { @@ -387,7 +387,7 @@ */ static fromFrame(frameId,width,height) { - var texture = core.utils.TextureCache[frameId]; + let texture = core.utils.TextureCache[frameId]; if (!texture) { diff --git a/src/extras/cacheAsBitmap.js b/src/extras/cacheAsBitmap.js index 087cc0c..4b47465 100644 --- a/src/extras/cacheAsBitmap.js +++ b/src/extras/cacheAsBitmap.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), DisplayObject = core.DisplayObject, _tempMatrix = new core.Matrix(); @@ -8,7 +8,7 @@ // figured theres no point adding ALL the extra variables to prototype. // this model can hold the information needed. This can also be generated on demand as // most objects are not cached as bitmaps. -var CacheData = function(){ +let CacheData = function(){ this.originalRenderWebGL = null; this.originalRenderCanvas = null; @@ -48,7 +48,7 @@ this._cacheAsBitmap = value; - var data; + let data; if (value) { @@ -142,7 +142,7 @@ } // make sure alpha is set to 1 otherwise it will get rendered as invisible! - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; // first we flush anything left in the renderer (otherwise it would get rendered to the cached texture) @@ -151,28 +151,28 @@ // next we find the dimensions of the untransformed object // this function also calls updatetransform on all its children as part of the measuring. This means we don't need to update the transform again in this function // TODO pass an object to clone too? saves having to create a new one each time! - var bounds = this.getLocalBounds().clone(); + let bounds = this.getLocalBounds().clone(); // add some padding! if(this._filters) { - var padding = this._filters[0].padding; + let padding = this._filters[0].padding; bounds.pad(padding); } // for now we cache the current renderTarget that the webGL renderer is currently using. // this could be more elegent.. - var cachedRenderTarget = renderer._activeRenderTarget; + let cachedRenderTarget = renderer._activeRenderTarget; // We also store the filter stack - I will definitely look to change how this works a little later down the line. - var stack = renderer.filterManager.filterStack; + let stack = renderer.filterManager.filterStack; // this renderTexture will be used to store the cached DisplayObject - var renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; m.tx = -bounds.x; m.ty = -bounds.y; @@ -197,7 +197,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); @@ -253,17 +253,17 @@ } //get bounds actually transforms the object for us already! - var bounds = this.getLocalBounds(); + let bounds = this.getLocalBounds(); - var cacheAlpha = this.alpha; + let cacheAlpha = this.alpha; this.alpha = 1; - var cachedRenderTarget = renderer.context; + let cachedRenderTarget = renderer.context; - var renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); + let renderTexture = new core.RenderTexture.create(bounds.width | 0, bounds.height | 0); // need to set // - var m = _tempMatrix; + let m = _tempMatrix; this.transform.worldTransform.copy(m); m.invert(); @@ -287,7 +287,7 @@ this.filterArea = null; // create our cached sprite - var cachedSprite = new core.Sprite(renderTexture); + let cachedSprite = new core.Sprite(renderTexture); cachedSprite.transform.worldTransform = this.transform.worldTransform; cachedSprite.anchor.x = -( bounds.x / bounds.width ); cachedSprite.anchor.y = -( bounds.y / bounds.height ); diff --git a/src/extras/getChildByName.js b/src/extras/getChildByName.js index 17ff796..70ad352 100644 --- a/src/extras/getChildByName.js +++ b/src/extras/getChildByName.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The instance name of the object. @@ -17,7 +17,7 @@ */ core.Container.prototype.getChildByName = function (name) { - for (var i = 0; i < this.children.length; i++) + for (let i = 0; i < this.children.length; i++) { if (this.children[i].name === name) { diff --git a/src/extras/getGlobalPosition.js b/src/extras/getGlobalPosition.js index 0d03c4f..47cfa78 100644 --- a/src/extras/getGlobalPosition.js +++ b/src/extras/getGlobalPosition.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Returns the global position of the displayObject diff --git a/src/extras/webgl/TilingShader.js b/src/extras/webgl/TilingShader.js index 86c8e63..9ffb3ea 100644 --- a/src/extras/webgl/TilingShader.js +++ b/src/extras/webgl/TilingShader.js @@ -1,5 +1,5 @@ -var Shader = require('../../core/Shader'); -var glslify = require('glslify'); +let Shader = require('../../core/Shader'); +let glslify = require('glslify'); /** * @class diff --git a/src/filters/blur/BlurFilter.js b/src/filters/blur/BlurFilter.js index 1aca693..6517451 100644 --- a/src/filters/blur/BlurFilter.js +++ b/src/filters/blur/BlurFilter.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), BlurXFilter = require('./BlurXFilter'), BlurYFilter = require('./BlurYFilter'); @@ -28,7 +28,7 @@ apply(filterManager, input, output) { - var renderTarget = filterManager.getRenderTarget(true); + let renderTarget = filterManager.getRenderTarget(true); this.blurXFilter.apply(filterManager, input, renderTarget, true); this.blurYFilter.apply(filterManager, renderTarget, output, false); diff --git a/src/filters/blur/BlurXFilter.js b/src/filters/blur/BlurXFilter.js index 74bdf39..8868aad 100644 --- a/src/filters/blur/BlurXFilter.js +++ b/src/filters/blur/BlurXFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurXFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurXFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, true); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, true); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -38,8 +38,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, true); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -59,15 +59,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/BlurYFilter.js b/src/filters/blur/BlurYFilter.js index b18bb04..578de88 100644 --- a/src/filters/blur/BlurYFilter.js +++ b/src/filters/blur/BlurYFilter.js @@ -1,7 +1,7 @@ -var core = require('../../core'); -var generateBlurVertSource = require('./generateBlurVertSource'); -var generateBlurFragSource = require('./generateBlurFragSource'); -var getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); +let core = require('../../core'); +let generateBlurVertSource = require('./generateBlurVertSource'); +let generateBlurFragSource = require('./generateBlurFragSource'); +let getMaxBlurKernelSize = require('./getMaxBlurKernelSize'); /** * The BlurYFilter applies a horizontal Gaussian blur to an object. @@ -13,8 +13,8 @@ class BlurYFilter extends core.Filter { constructor(strength, quality, resolution) { - var vertSrc = generateBlurVertSource(5, false); - var fragSrc = generateBlurFragSource(5); + let vertSrc = generateBlurVertSource(5, false); + let fragSrc = generateBlurFragSource(5); super( // vertex shader @@ -37,8 +37,8 @@ { if(this.firstRun) { - var gl = filterManager.renderer.gl; - var kernelSize = getMaxBlurKernelSize(gl); + let gl = filterManager.renderer.gl; + let kernelSize = getMaxBlurKernelSize(gl); this.vertexSrc = generateBlurVertSource(kernelSize, false); this.fragmentSrc = generateBlurFragSource(kernelSize); @@ -57,15 +57,15 @@ } else { - var renderTarget = filterManager.getRenderTarget(true); - var flip = input; - var flop = renderTarget; + let renderTarget = filterManager.getRenderTarget(true); + let flip = input; + let flop = renderTarget; - for(var i = 0; i < this.passes-1; i++) + for(let i = 0; i < this.passes-1; i++) { filterManager.applyFilter(this, flip, flop, true); - var temp = flop; + let temp = flop; flop = flip; flip = temp; } diff --git a/src/filters/blur/generateBlurFragSource.js b/src/filters/blur/generateBlurFragSource.js index 480ff4d..8088068 100644 --- a/src/filters/blur/generateBlurFragSource.js +++ b/src/filters/blur/generateBlurFragSource.js @@ -1,4 +1,4 @@ -var GAUSSIAN_VALUES = { +let GAUSSIAN_VALUES = { 5:[0.153388, 0.221461, 0.250301], 7:[0.071303, 0.131514, 0.189879, 0.214607], 9:[0.028532, 0.067234, 0.124009, 0.179044, 0.20236], @@ -7,7 +7,7 @@ 15:[0.000489, 0.002403, 0.009246, 0.02784, 0.065602, 0.120999, 0.174697, 0.197448] }; -var fragTemplate = [ +let fragTemplate = [ 'varying vec2 vBlurTexCoords[%size%];', 'uniform sampler2D uSampler;', @@ -19,20 +19,20 @@ ].join('\n'); -var generateFragBlurSource = function(kernelSize) +let generateFragBlurSource = function(kernelSize) { - var kernel = GAUSSIAN_VALUES[kernelSize]; - var halfLength = kernel.length; + let kernel = GAUSSIAN_VALUES[kernelSize]; + let halfLength = kernel.length; - var fragSource = fragTemplate; + let fragSource = fragTemplate; - var blurLoop = ''; - var template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; - var value; + let blurLoop = ''; + let template = 'gl_FragColor += texture2D(uSampler, vBlurTexCoords[%index%]) * %value%;'; + let value; - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/generateBlurVertSource.js b/src/filters/blur/generateBlurVertSource.js index ced96b6..66a1db4 100644 --- a/src/filters/blur/generateBlurVertSource.js +++ b/src/filters/blur/generateBlurVertSource.js @@ -1,5 +1,5 @@ -var vertTemplate = [ +let vertTemplate = [ 'attribute vec2 aVertexPosition;', 'attribute vec2 aTextureCoord;', @@ -15,15 +15,15 @@ '}' ].join('\n'); -var generateVertBlurSource = function(kernelSize, x) +let generateVertBlurSource = function(kernelSize, x) { - var halfLength = Math.ceil(kernelSize/2); + let halfLength = Math.ceil(kernelSize/2); - var vertSource = vertTemplate; + let vertSource = vertTemplate; - var blurLoop = ''; - var template; - var value; + let blurLoop = ''; + let template; + let value; if(x) { @@ -36,9 +36,9 @@ } - for (var i = 0; i < kernelSize; i++) + for (let i = 0; i < kernelSize; i++) { - var blur = template.replace('%index%', i); + let blur = template.replace('%index%', i); value = i; diff --git a/src/filters/blur/getMaxBlurKernelSize.js b/src/filters/blur/getMaxBlurKernelSize.js index c9ee7a7..3b105db 100644 --- a/src/filters/blur/getMaxBlurKernelSize.js +++ b/src/filters/blur/getMaxBlurKernelSize.js @@ -1,9 +1,9 @@ -var getMaxKernelSize = function(gl) +let getMaxKernelSize = function(gl) { - var maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); - var kernelSize = 15; + let maxVaryings = ( gl.getParameter(gl.MAX_VARYING_VECTORS) ); + let kernelSize = 15; while(kernelSize > maxVaryings) { diff --git a/src/filters/colormatrix/ColorMatrixFilter.js b/src/filters/colormatrix/ColorMatrixFilter.js index f476511..86676e2 100644 --- a/src/filters/colormatrix/ColorMatrixFilter.js +++ b/src/filters/colormatrix/ColorMatrixFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * The ColorMatrixFilter class lets you apply a 5x4 matrix transformation on the RGBA @@ -8,7 +8,7 @@ * with a new set of RGBA color and alpha values. It's pretty powerful! * * ```js - * var colorMatrix = new PIXI.ColorMatrixFilter(); + * let colorMatrix = new PIXI.ColorMatrixFilter(); * container.filters = [colorMatrix]; * colorMatrix.contrast(2); * ``` @@ -47,7 +47,7 @@ { multiply = !!multiply; - var newMatrix = matrix; + let newMatrix = matrix; if (multiply) { this._multiply(newMatrix, this.uniforms.m, matrix); @@ -109,7 +109,7 @@ _colorMatrix(matrix) { // Create a Float32 Array and normalize the offset component to 0-1 - var m = new Float32Array(matrix); + let m = new Float32Array(matrix); m[4] /= 255; m[9] /= 255; m[14] /= 255; @@ -126,7 +126,7 @@ */ brightness(b, multiply) { - var matrix = [ + let matrix = [ b, 0, 0, 0, 0, 0, b, 0, 0, 0, 0, 0, b, 0, 0, @@ -144,7 +144,7 @@ */ greyscale(scale, multiply) { - var matrix = [ + let matrix = [ scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, scale, scale, scale, 0, 0, @@ -162,7 +162,7 @@ */ blackAndWhite(multiply) { - var matrix = [ + let matrix = [ 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, 0.3, 0.6, 0.1, 0, 0, @@ -182,7 +182,7 @@ { rotation = (rotation || 0) / 180 * Math.PI; - var cosR = Math.cos(rotation), + let cosR = Math.cos(rotation), sinR = Math.sin(rotation), sqrt = Math.sqrt; @@ -199,22 +199,22 @@ see http://stackoverflow.com/questions/8507885/shift-hue-of-an-rgb-color/8510751#8510751 */ - var w = 1/3, sqrW = sqrt(w);//weight is + let w = 1/3, sqrW = sqrt(w);//weight is - var a00 = cosR + (1.0 - cosR) * w; - var a01 = w * (1.0 - cosR) - sqrW * sinR; - var a02 = w * (1.0 - cosR) + sqrW * sinR; + let a00 = cosR + (1.0 - cosR) * w; + let a01 = w * (1.0 - cosR) - sqrW * sinR; + let a02 = w * (1.0 - cosR) + sqrW * sinR; - var a10 = w * (1.0 - cosR) + sqrW * sinR; - var a11 = cosR + w*(1.0 - cosR); - var a12 = w * (1.0 - cosR) - sqrW * sinR; + let a10 = w * (1.0 - cosR) + sqrW * sinR; + let a11 = cosR + w*(1.0 - cosR); + let a12 = w * (1.0 - cosR) - sqrW * sinR; - var a20 = w * (1.0 - cosR) - sqrW * sinR; - var a21 = w * (1.0 - cosR) + sqrW * sinR; - var a22 = cosR + w * (1.0 - cosR); + let a20 = w * (1.0 - cosR) - sqrW * sinR; + let a21 = w * (1.0 - cosR) + sqrW * sinR; + let a22 = cosR + w * (1.0 - cosR); - var matrix = [ + let matrix = [ a00, a01, a02, 0, 0, a10, a11, a12, 0, 0, a20, a21, a22, 0, 0, @@ -235,10 +235,10 @@ */ contrast(amount, multiply) { - var v = (amount || 0) + 1; - var o = -128 * (v - 1); + let v = (amount || 0) + 1; + let o = -128 * (v - 1); - var matrix = [ + let matrix = [ v, 0, 0, 0, o, 0, v, 0, 0, o, 0, 0, v, 0, o, @@ -257,10 +257,10 @@ */ saturate(amount, multiply) { - var x = (amount || 0) * 2 / 3 + 1; - var y = ((x - 1) * -0.5); + let x = (amount || 0) * 2 / 3 + 1; + let y = ((x - 1) * -0.5); - var matrix = [ + let matrix = [ x, y, y, 0, 0, y, x, y, 0, 0, y, y, x, 0, 0, @@ -288,7 +288,7 @@ */ negative(multiply) { - var matrix = [ + let matrix = [ 0, 1, 1, 0, 0, 1, 0, 1, 0, 0, 1, 1, 0, 0, 0, @@ -305,7 +305,7 @@ */ sepia(multiply) { - var matrix = [ + let matrix = [ 0.393, 0.7689999, 0.18899999, 0, 0, 0.349, 0.6859999, 0.16799999, 0, 0, 0.272, 0.5339999, 0.13099999, 0, 0, @@ -322,7 +322,7 @@ */ technicolor(multiply) { - var matrix = [ + let matrix = [ 1.9125277891456083, -0.8545344976951645, -0.09155508482755585, 0, 11.793603434377337, -0.3087833385928097, 1.7658908555458428, -0.10601743074722245, 0, -70.35205161461398, -0.231103377548616, -0.7501899197440212, 1.847597816108189, 0, 30.950940869491138, @@ -339,7 +339,7 @@ */ polaroid(multiply) { - var matrix = [ + let matrix = [ 1.438, -0.062, -0.062, 0, 0, -0.122, 1.378, -0.122, 0, 0, -0.016, -0.016, 1.483, 0, 0, @@ -356,7 +356,7 @@ */ toBGR(multiply) { - var matrix = [ + let matrix = [ 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 0, 0, 0, @@ -373,7 +373,7 @@ */ kodachrome(multiply) { - var matrix = [ + let matrix = [ 1.1285582396593525, -0.3967382283601348, -0.03992559172921793, 0, 63.72958762196502, -0.16404339962244616, 1.0835251566291304, -0.05498805115633132, 0, 24.732407896706203, -0.16786010706155763, -0.5603416277695248, 1.6014850761964943, 0, 35.62982807460946, @@ -390,7 +390,7 @@ */ browni(multiply) { - var matrix = [ + let matrix = [ 0.5997023498159715, 0.34553243048391263, -0.2708298674538042, 0, 47.43192855600873, -0.037703249837783157, 0.8609577587992641, 0.15059552388459913, 0, -36.96841498319127, 0.24113635128153335, -0.07441037908422492, 0.44972182064877153, 0, -7.562075277591283, @@ -407,7 +407,7 @@ */ vintage(multiply) { - var matrix = [ + let matrix = [ 0.6279345635605994, 0.3202183420819367, -0.03965408211312453, 0, 9.651285835294123, 0.02578397704808868, 0.6441188644374771, 0.03259127616149294, 0, 7.462829176470591, 0.0466055556782719, -0.0851232987247891, 0.5241648018700465, 0, 5.159190588235296, @@ -434,15 +434,15 @@ lightColor = lightColor || 0xFFE580; darkColor = darkColor || 0x338000; - var lR = ((lightColor >> 16) & 0xFF) / 255; - var lG = ((lightColor >> 8) & 0xFF) / 255; - var lB = (lightColor & 0xFF) / 255; + let lR = ((lightColor >> 16) & 0xFF) / 255; + let lG = ((lightColor >> 8) & 0xFF) / 255; + let lB = (lightColor & 0xFF) / 255; - var dR = ((darkColor >> 16) & 0xFF) / 255; - var dG = ((darkColor >> 8) & 0xFF) / 255; - var dB = (darkColor & 0xFF) / 255; + let dR = ((darkColor >> 16) & 0xFF) / 255; + let dG = ((darkColor >> 8) & 0xFF) / 255; + let dB = (darkColor & 0xFF) / 255; - var matrix = [ + let matrix = [ 0.3, 0.59, 0.11, 0, 0, lR, lG, lB, desaturation, 0, dR, dG, dB, toned, 0, @@ -461,7 +461,7 @@ night(intensity, multiply) { intensity = intensity || 0.1; - var matrix = [ + let matrix = [ intensity * ( -2.0), -intensity, 0, 0, 0, -intensity, 0, intensity, 0, 0, 0, intensity, intensity * 2.0, 0, 0, @@ -482,7 +482,7 @@ */ predator(amount, multiply) { - var matrix = [ + let matrix = [ 11.224130630493164 * amount, -4.794486999511719 * amount, -2.8746118545532227 * amount, 0 * amount, 0.40342438220977783 * amount, -3.6330697536468506 * amount, 9.193157196044922 * amount, -2.951810836791992 * amount, 0 * amount, -1.316135048866272 * amount, -3.2184197902679443 * amount, -4.2375030517578125 * amount, 7.476448059082031 * amount, 0 * amount, 0.8044459223747253 * amount, @@ -502,7 +502,7 @@ */ lsd(multiply) { - var matrix = [ + let matrix = [ 2, -0.4, 0.5, 0, 0, -0.5, 2, -0.4, 0, 0, -0.4, -0.5, 3, 0, 0, @@ -518,7 +518,7 @@ */ reset() { - var matrix = [ + let matrix = [ 1, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, diff --git a/src/filters/displacement/DisplacementFilter.js b/src/filters/displacement/DisplacementFilter.js index 026487a..6c88b65 100644 --- a/src/filters/displacement/DisplacementFilter.js +++ b/src/filters/displacement/DisplacementFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * The DisplacementFilter class uses the pixel values from the specified texture (called the displacement map) to perform a displacement of an object. @@ -15,7 +15,7 @@ class DisplacementFilter extends core.Filter { constructor(sprite, scale) { - var maskMatrix = new core.Matrix(); + let maskMatrix = new core.Matrix(); sprite.renderable = false; super( @@ -44,7 +44,7 @@ apply(filterManager, input, output) { - var ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); + let ratio = (1/output.destinationFrame.width) * (output.size.width/input.size.width); /// // * 2 //4//this.strength / 4 / this.passes * (input.frame.width / input.size.width); this.uniforms.filterMatrix = filterManager.calculateSpriteMatrix(this.maskMatrix, this.maskSprite); this.uniforms.scale.x = this.scale.x * ratio; diff --git a/src/filters/fxaa/FXAAFilter.js b/src/filters/fxaa/FXAAFilter.js index dd2a6a2..d9a7c67 100644 --- a/src/filters/fxaa/FXAAFilter.js +++ b/src/filters/fxaa/FXAAFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * diff --git a/src/filters/noise/NoiseFilter.js b/src/filters/noise/NoiseFilter.js index 29ac4d0..10c3280 100644 --- a/src/filters/noise/NoiseFilter.js +++ b/src/filters/noise/NoiseFilter.js @@ -1,5 +1,5 @@ -var core = require('../../core'); -var glslify = require('glslify'); +let core = require('../../core'); +let glslify = require('glslify'); /** * @author Vico @vicocotea diff --git a/src/filters/void/VoidFilter.js b/src/filters/void/VoidFilter.js index b791d25..f201210 100644 --- a/src/filters/void/VoidFilter.js +++ b/src/filters/void/VoidFilter.js @@ -1,6 +1,6 @@ -var core = require('../../core'); +let core = require('../../core'); // @see https://github.com/substack/brfs/issues/25 -var glslify = require('glslify'); +let glslify = require('glslify'); /** * Does nothing. Very handy. diff --git a/src/index.js b/src/index.js index 645f8f3..bd84133 100644 --- a/src/index.js +++ b/src/index.js @@ -1,7 +1,7 @@ // run the polyfills require('./polyfill'); -var core = module.exports = require('./core'); +let core = module.exports = require('./core'); // add core plugins. core.extras = require('./extras'); diff --git a/src/interaction/InteractionData.js b/src/interaction/InteractionData.js index ed89fdd..57f52b5 100644 --- a/src/interaction/InteractionData.js +++ b/src/interaction/InteractionData.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * Holds all information related to an Interaction event diff --git a/src/interaction/InteractionManager.js b/src/interaction/InteractionManager.js index b922604..44bd81b 100644 --- a/src/interaction/InteractionManager.js +++ b/src/interaction/InteractionManager.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), InteractionData = require('./InteractionData'), EventEmitter = require('eventemitter3'); @@ -183,7 +183,7 @@ this.currentCursorStyle = 'inherit'; /** - * Internal cached var + * Internal cached let * @member {PIXI.Point} * @private */ @@ -480,7 +480,7 @@ */ mapPositionToPoint( point, x, y ) { - var rect; + let rect; // IE 11 fix if(!this.interactionDOMElement.parentElement) { @@ -522,11 +522,10 @@ // As another little optimisation once an interactive object has been hit we can carry on through the scenegraph, but we know that there will be no more hits! So we can avoid extra hit tests // A final optimisation is that an object is not hit test directly if a child has already been hit. - var hit = false, - interactiveParent = interactive = displayObject.interactive || interactive; + interactive = displayObject.interactive || interactive; - - + let hit = false, + interactiveParent = interactive; // if the displayobject has a hitArea, then it does not need to hitTest children. if(displayObject.hitArea) @@ -556,11 +555,11 @@ // This will allow pixi to completly ignore and bypass checking the displayObjects children. if(displayObject.interactiveChildren) { - var children = displayObject.children; + let children = displayObject.children; - for (var i = children.length-1; i >= 0; i--) + for (let i = children.length-1; i >= 0; i--) { - var child = children[i]; + let child = children[i]; // time to get recursive.. if this function will return if somthing is hit.. if(this.processInteractive(point, child, func, hitTest, interactiveParent)) @@ -645,7 +644,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseDown, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightdown' : 'mousedown', this.eventData); } @@ -658,9 +657,9 @@ */ processMouseDown( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; + let isRightButton = e.button === 2 || e.which === 3; if(hit) { @@ -686,7 +685,7 @@ this.processInteractive(this.mouse.global, this.renderer._lastObjectRendered, this.processMouseUp, true ); - var isRightButton = event.button === 2 || event.which === 3; + let isRightButton = event.button === 2 || event.which === 3; this.emit(isRightButton ? 'rightup' : 'mouseup', this.eventData); } @@ -699,10 +698,10 @@ */ processMouseUp( displayObject, hit ) { - var e = this.mouse.originalEvent; + let e = this.mouse.originalEvent; - var isRightButton = e.button === 2 || e.which === 3; - var isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; + let isRightButton = e.button === 2 || e.which === 3; + let isDown = isRightButton ? '_isRightDown' : '_isLeftDown'; if(hit) { @@ -861,14 +860,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; //TODO POOL - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -913,14 +912,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -979,14 +978,14 @@ event.preventDefault(); } - var changedTouches = event.changedTouches; - var cLength = changedTouches.length; + let changedTouches = event.changedTouches; + let cLength = changedTouches.length; - for (var i=0; i < cLength; i++) + for (let i=0; i < cLength; i++) { - var touchEvent = changedTouches[i]; + let touchEvent = changedTouches[i]; - var touchData = this.getTouchData( touchEvent ); + let touchData = this.getTouchData( touchEvent ); touchData.originalEvent = event; @@ -1025,7 +1024,7 @@ */ getTouchData(touchEvent) { - var touchData = this.interactiveDataPool.pop(); + let touchData = this.interactiveDataPool.pop(); if(!touchData) { diff --git a/src/interaction/interactiveTarget.js b/src/interaction/interactiveTarget.js index 750f3d3..f6f262e 100644 --- a/src/interaction/interactiveTarget.js +++ b/src/interaction/interactiveTarget.js @@ -12,7 +12,7 @@ * PIXI.interaction.interactiveTarget * ); */ -var interactiveTarget = { +let interactiveTarget = { /** * Determines if the displayObject be clicked/touched * diff --git a/src/loaders/bitmapFontParser.js b/src/loaders/bitmapFontParser.js index bee107f..ff860c6 100644 --- a/src/loaders/bitmapFontParser.js +++ b/src/loaders/bitmapFontParser.js @@ -1,13 +1,13 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, core = require('../core'), extras = require('../extras'), path = require('path'); function parse(resource, texture) { - var data = {}; - var info = resource.data.getElementsByTagName('info')[0]; - var common = resource.data.getElementsByTagName('common')[0]; + let data = {}; + let info = resource.data.getElementsByTagName('info')[0]; + let common = resource.data.getElementsByTagName('common')[0]; data.font = info.getAttribute('face'); data.size = parseInt(info.getAttribute('size'), 10); @@ -15,13 +15,13 @@ data.chars = {}; //parse letters - var letters = resource.data.getElementsByTagName('char'); + let letters = resource.data.getElementsByTagName('char'); - for (var i = 0; i < letters.length; i++) + for (let i = 0; i < letters.length; i++) { - var charCode = parseInt(letters[i].getAttribute('id'), 10); + let charCode = parseInt(letters[i].getAttribute('id'), 10); - var textureRect = new core.Rectangle( + let textureRect = new core.Rectangle( parseInt(letters[i].getAttribute('x'), 10) + texture.frame.x, parseInt(letters[i].getAttribute('y'), 10) + texture.frame.y, parseInt(letters[i].getAttribute('width'), 10), @@ -39,12 +39,12 @@ } //parse kernings - var kernings = resource.data.getElementsByTagName('kerning'); - for (i = 0; i < kernings.length; i++) + let kernings = resource.data.getElementsByTagName('kerning'); + for (let i = 0; i < kernings.length; i++) { - var first = parseInt(kernings[i].getAttribute('first'), 10); - var second = parseInt(kernings[i].getAttribute('second'), 10); - var amount = parseInt(kernings[i].getAttribute('amount'), 10); + let first = parseInt(kernings[i].getAttribute('first'), 10); + let second = parseInt(kernings[i].getAttribute('second'), 10); + let amount = parseInt(kernings[i].getAttribute('amount'), 10); if(data.chars[second]) { @@ -80,7 +80,7 @@ return next(); } - var xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; + let xmlUrl = !resource.isDataUrl ? path.dirname(resource.url) : ''; if (resource.isDataUrl) { if (xmlUrl === '.') { @@ -103,14 +103,14 @@ xmlUrl += '/'; } - var textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); + let textureUrl = xmlUrl + resource.data.getElementsByTagName('page')[0].getAttribute('file'); if (core.utils.TextureCache[textureUrl]) { //reuse existing texture parse(resource, core.utils.TextureCache[textureUrl]); next(); } else { - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata diff --git a/src/loaders/loader.js b/src/loaders/loader.js index 9a164b9..2247c23 100644 --- a/src/loaders/loader.js +++ b/src/loaders/loader.js @@ -1,4 +1,4 @@ -var ResourceLoader = require('resource-loader'), +let ResourceLoader = require('resource-loader'), textureParser = require('./textureParser'), spritesheetParser = require('./spritesheetParser'), bitmapFontParser = require('./bitmapFontParser'); @@ -8,9 +8,9 @@ * The new loader, extends Resource Loader by Chad Engler : https://github.com/englercj/resource-loader * * ```js - * var loader = PIXI.loader; // pixi exposes a premade instance for you to use. + * let loader = PIXI.loader; // pixi exposes a premade instance for you to use. * //or - * var loader = new PIXI.loaders.Loader(); // you can also create your own if you want + * let loader = new PIXI.loaders.Loader(); // you can also create your own if you want * * loader.add('bunny',"data/bunny.png"); * @@ -31,7 +31,7 @@ { super(baseUrl, concurrency); - for (var i = 0; i < Loader._pixiMiddleware.length; ++i) { + for (let i = 0; i < Loader._pixiMiddleware.length; ++i) { this.use(Loader._pixiMiddleware[i]()); } } @@ -56,6 +56,6 @@ }; // Add custom extentions -var Resource = ResourceLoader.Resource; +let Resource = ResourceLoader.Resource; Resource.setExtensionXhrType('fnt', Resource.XHR_RESPONSE_TYPE.DOCUMENT); diff --git a/src/loaders/spritesheetParser.js b/src/loaders/spritesheetParser.js index 97fd258..64c3145 100644 --- a/src/loaders/spritesheetParser.js +++ b/src/loaders/spritesheetParser.js @@ -1,15 +1,15 @@ -var Resource = require('resource-loader').Resource, +let Resource = require('resource-loader').Resource, path = require('path'), core = require('../core'); -var BATCH_SIZE = 1000; +let BATCH_SIZE = 1000; module.exports = function () { return function (resource, next) { - var resourcePath; - var imageResourceName = resource.name + '_image'; + let resourcePath; + let imageResourceName = resource.name + '_image'; // skip if no data, its not json, it isn't spritesheet data, or the image resource already exists if (!resource.data || !resource.isJson || !resource.data.frames || this.resources[imageResourceName]) @@ -17,7 +17,7 @@ return next(); } - var loadOptions = { + let loadOptions = { crossOrigin: resource.crossOrigin, loadType: Resource.LOAD_TYPE.IMAGE, metadata: resource.metadata.imageMetadata @@ -38,26 +38,26 @@ { resource.textures = {}; - var frames = resource.data.frames; - var frameKeys = Object.keys(frames); - var resolution = core.utils.getResolutionOfUrl(resource.url); - var batchIndex = 0; + let frames = resource.data.frames; + let frameKeys = Object.keys(frames); + let resolution = core.utils.getResolutionOfUrl(resource.url); + let batchIndex = 0; function processFrames(initialFrameIndex, maxFrames) { - var frameIndex = initialFrameIndex; + let frameIndex = initialFrameIndex; while (frameIndex - initialFrameIndex < maxFrames && frameIndex < frameKeys.length) { - var i = frameKeys[frameIndex]; - var rect = frames[i].frame; + let i = frameKeys[frameIndex]; + let rect = frames[i].frame; if (rect) { - var frame = null; - var trim = null; - var orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); + let frame = null; + let trim = null; + let orig = new core.Rectangle(0, 0, frames[i].sourceSize.w / resolution, frames[i].sourceSize.h / resolution); if (frames[i].rotated) { frame = new core.Rectangle(rect.x / resolution, rect.y / resolution, rect.h / resolution, rect.w / resolution); diff --git a/src/loaders/textureParser.js b/src/loaders/textureParser.js index 9cc1773..acb2d6b 100644 --- a/src/loaders/textureParser.js +++ b/src/loaders/textureParser.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); module.exports = function () { @@ -7,7 +7,7 @@ // create a new texture if the data is an Image object if (resource.data && resource.isImage) { - var baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); + let baseTexture = new core.BaseTexture(resource.data, null, core.utils.getResolutionOfUrl(resource.url)); baseTexture.imageUrl = resource.url; resource.texture = new core.Texture(baseTexture); // lets also add the frame to pixi's global cache for fromFrame and fromImage fucntions diff --git a/src/mesh/Mesh.js b/src/mesh/Mesh.js index 0d6e706..d343c7b 100644 --- a/src/mesh/Mesh.js +++ b/src/mesh/Mesh.js @@ -1,4 +1,4 @@ -var core = require('../core'), +let core = require('../core'), glCore = require('pixi-gl-core'), Shader = require('./webgl/MeshShader'), tempPoint = new core.Point(), @@ -120,8 +120,8 @@ renderer.flush(); // renderer.plugins.mesh.render(this); - var gl = renderer.gl; - var glData = this._glDatas[renderer.CONTEXT_UID]; + let gl = renderer.gl; + let glData = this._glDatas[renderer.CONTEXT_UID]; if(!glData) { @@ -170,7 +170,7 @@ glData.shader.uniforms.alpha = this.worldAlpha; glData.shader.uniforms.tint = this.tintRgb; - var drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; + let drawMode = this.drawMode === Mesh.DRAW_MODES.TRIANGLE_MESH ? gl.TRIANGLE_STRIP : gl.TRIANGLES; glData.vao.bind() .draw(drawMode, this.indices.length) @@ -185,10 +185,10 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -218,16 +218,16 @@ _renderCanvasTriangleMesh(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; + let vertices = this.vertices; + let uvs = this.uvs; - var length = vertices.length / 2; + let length = vertices.length / 2; // this.count++; - for (var i = 0; i < length - 2; i++) + for (let i = 0; i < length - 2; i++) { // draw some triangles! - var index = i * 2; + let index = i * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index, (index + 2), (index + 4)); } } @@ -241,17 +241,17 @@ _renderCanvasTriangles(context) { // draw triangles!! - var vertices = this.vertices; - var uvs = this.uvs; - var indices = this.indices; + let vertices = this.vertices; + let uvs = this.uvs; + let indices = this.indices; - var length = indices.length; + let length = indices.length; // this.count++; - for (var i = 0; i < length; i += 3) + for (let i = 0; i < length; i += 3) { // draw some triangles! - var index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; + let index0 = indices[i] * 2, index1 = indices[i + 1] * 2, index2 = indices[i + 2] * 2; this._renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2); } } @@ -269,28 +269,28 @@ */ _renderCanvasDrawTriangle(context, vertices, uvs, index0, index1, index2) { - var base = this._texture.baseTexture; - var textureSource = base.source; - var textureWidth = base.width; - var textureHeight = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let textureWidth = base.width; + let textureHeight = base.height; - var x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; - var y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; + let x0 = vertices[index0], x1 = vertices[index1], x2 = vertices[index2]; + let y0 = vertices[index0 + 1], y1 = vertices[index1 + 1], y2 = vertices[index2 + 1]; - var u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; - var v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; + let u0 = uvs[index0] * base.width, u1 = uvs[index1] * base.width, u2 = uvs[index2] * base.width; + let v0 = uvs[index0 + 1] * base.height, v1 = uvs[index1 + 1] * base.height, v2 = uvs[index2 + 1] * base.height; if (this.canvasPadding > 0) { - var paddingX = this.canvasPadding / this.worldTransform.a; - var paddingY = this.canvasPadding / this.worldTransform.d; - var centerX = (x0 + x1 + x2) / 3; - var centerY = (y0 + y1 + y2) / 3; + let paddingX = this.canvasPadding / this.worldTransform.a; + let paddingY = this.canvasPadding / this.worldTransform.d; + let centerX = (x0 + x1 + x2) / 3; + let centerY = (y0 + y1 + y2) / 3; - var normX = x0 - centerX; - var normY = y0 - centerY; + let normX = x0 - centerX; + let normY = y0 - centerY; - var dist = Math.sqrt(normX * normX + normY * normY); + let dist = Math.sqrt(normX * normX + normY * normY); x0 = centerX + (normX / dist) * (dist + paddingX); y0 = centerY + (normY / dist) * (dist + paddingY); @@ -324,13 +324,13 @@ context.clip(); // Compute matrix transform - var delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); - var deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); - var deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); - var deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); - var deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); - var deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); - var deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); + let delta = (u0 * v1) + (v0 * u2) + (u1 * v2) - (v1 * u2) - (v0 * u1) - (u0 * v2); + let deltaA = (x0 * v1) + (v0 * x2) + (x1 * v2) - (v1 * x2) - (v0 * x1) - (x0 * v2); + let deltaB = (u0 * x1) + (x0 * u2) + (u1 * x2) - (x1 * u2) - (x0 * u1) - (u0 * x2); + let deltaC = (u0 * v1 * x2) + (v0 * x1 * u2) + (x0 * u1 * v2) - (x0 * v1 * u2) - (v0 * u1 * x2) - (u0 * x1 * v2); + let deltaD = (y0 * v1) + (v0 * y2) + (y1 * v2) - (v1 * y2) - (v0 * y1) - (y0 * v2); + let deltaE = (u0 * y1) + (y0 * u2) + (u1 * y2) - (y1 * u2) - (y0 * u1) - (u0 * y2); + let deltaF = (u0 * v1 * y2) + (v0 * y1 * u2) + (y0 * u1 * v2) - (y0 * v1 * u2) - (v0 * u1 * y2) - (u0 * y1 * v2); context.transform(deltaA / delta, deltaD / delta, deltaB / delta, deltaE / delta, @@ -350,20 +350,20 @@ */ renderMeshFlat(Mesh) { - var context = this.context; - var vertices = Mesh.vertices; + let context = this.context; + let vertices = Mesh.vertices; - var length = vertices.length/2; + let length = vertices.length/2; // this.count++; context.beginPath(); - for (var i=1; i < length-2; i++) + for (let i=1; i < length-2; i++) { // draw some triangles! - var index = i*2; + let index = i*2; - var x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; - var y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; + let x0 = vertices[index], x1 = vertices[index+2], x2 = vertices[index+4]; + let y0 = vertices[index+1], y1 = vertices[index+3], y2 = vertices[index+5]; context.moveTo(x0, y0); context.lineTo(x1, y1); @@ -409,14 +409,14 @@ } this.worldTransform.applyInverse(point, tempPoint); - var vertices = this.vertices; - var points = tempPolygon.points; + let vertices = this.vertices; + let points = tempPolygon.points; - var indices = this.indices; - var len = this.indices.length; - var step = this.drawMode === Mesh.DRAW_MODES.TRIANGLES ? 3 : 1; - for (var i=0;i+2 * A B @@ -43,7 +43,7 @@ { super(texture, 4, 4); - var uvs = this.uvs; + let uvs = this.uvs; // right and bottom uv's are always 1 uvs[6] = uvs[14] = uvs[22] = uvs[30] = 1; uvs[25] = uvs[27] = uvs[29] = uvs[31] = 1; @@ -101,14 +101,14 @@ } updateHorizontalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[9] = vertices[11] = vertices[13] = vertices[15] = this._topHeight; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - this._bottomHeight; vertices[25] = vertices[27] = vertices[29] = vertices[31] = this._height; } updateVerticalVertices() { - var vertices = this.vertices; + let vertices = this.vertices; vertices[2] = vertices[10] = vertices[18] = vertices[26] = this._leftWidth; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - this._rightWidth; vertices[6] = vertices[14] = vertices[22] = vertices[30] = this._width ; @@ -122,11 +122,11 @@ */ _renderCanvas(renderer) { - var context = renderer.context; + let context = renderer.context; context.globalAlpha = this.worldAlpha; - var transform = this.worldTransform; - var res = renderer.resolution; + let transform = this.worldTransform; + let res = renderer.resolution; if (renderer.roundPixels) { @@ -137,10 +137,10 @@ context.setTransform(transform.a * res, transform.b * res, transform.c * res, transform.d * res, transform.tx * res, transform.ty * res); } - var base = this._texture.baseTexture; - var textureSource = base.source; - var w = base.width; - var h = base.height; + let base = this._texture.baseTexture; + let textureSource = base.source; + let w = base.width; + let h = base.height; this.drawSegment(context, textureSource, w, h, 0, 1, 10, 11); this.drawSegment(context, textureSource, w, h, 2, 3, 12, 13); @@ -171,13 +171,13 @@ drawSegment(context, textureSource, w, h, x1, y1, x2, y2) { // otherwise you get weird results when using slices of that are 0 wide or high. - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; - var sw = (uvs[x2]-uvs[x1]) * w; - var sh = (uvs[y2]-uvs[y1]) * h; - var dw = vertices[x2] - vertices[x1]; - var dh = vertices[y2] - vertices[y1]; + let sw = (uvs[x2]-uvs[x1]) * w; + let sh = (uvs[y2]-uvs[y1]) * h; + let dw = vertices[x2] - vertices[x1]; + let dh = vertices[y2] - vertices[y1]; // make sure the source is at least 1 pixel wide and high, otherwise nothing will be drawn. if (sw<1) { @@ -252,8 +252,8 @@ set: function (value) { this._leftWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[2] = uvs[10] = uvs[18] = uvs[26] = this._uvw * value; vertices[2] = vertices[10] = vertices[18] = vertices[26] = value; this.dirty=true; @@ -272,8 +272,8 @@ set: function (value) { this._rightWidth = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[4] = uvs[12] = uvs[20] = uvs[28] = 1 - this._uvw * value; vertices[4] = vertices[12] = vertices[20] = vertices[28] = this._width - value; this.dirty=true; @@ -292,8 +292,8 @@ set: function (value) { this._topHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[9] = uvs[11] = uvs[13] = uvs[15] = this._uvh * value; vertices[9] = vertices[11] = vertices[13] = vertices[15] = value; this.dirty=true; @@ -312,8 +312,8 @@ set: function (value) { this._bottomHeight = value; - var uvs = this.uvs; - var vertices = this.vertices; + let uvs = this.uvs; + let vertices = this.vertices; uvs[17] = uvs[19] = uvs[21] = uvs[23] = 1 - this._uvh * value; vertices[17] = vertices[19] = vertices[21] = vertices[23] = this._height - value; this.dirty=true; diff --git a/src/mesh/Plane.js b/src/mesh/Plane.js index 35607fe..21f6275 100644 --- a/src/mesh/Plane.js +++ b/src/mesh/Plane.js @@ -1,13 +1,13 @@ -var Mesh = require('./Mesh'); +let Mesh = require('./Mesh'); /** * The Plane allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); + * let Plane = new PIXI.Plane(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -45,24 +45,24 @@ */ refresh() { - var total = this.verticesX * this.verticesY; - var verts = []; - var colors = []; - var uvs = []; - var indices = []; - var texture = this.texture; + let total = this.verticesX * this.verticesY; + let verts = []; + let colors = []; + let uvs = []; + let indices = []; + let texture = this.texture; - var segmentsX = this.verticesX - 1; - var segmentsY = this.verticesY - 1; - var i = 0; + let segmentsX = this.verticesX - 1; + let segmentsY = this.verticesY - 1; + let i = 0; - var sizeX = texture.width / segmentsX; - var sizeY = texture.height / segmentsY; + let sizeX = texture.width / segmentsX; + let sizeY = texture.height / segmentsY; for (i = 0; i < total; i++) { - var x = (i % this.verticesX); - var y = ( (i / this.verticesX ) | 0 ); + let x = (i % this.verticesX); + let y = ( (i / this.verticesX ) | 0 ); verts.push((x * sizeX), @@ -74,18 +74,18 @@ // cons - var totalSub = segmentsX * segmentsY; + let totalSub = segmentsX * segmentsY; for (i = 0; i < totalSub; i++) { - var xpos = i % segmentsX; - var ypos = (i / segmentsX ) | 0; + let xpos = i % segmentsX; + let ypos = (i / segmentsX ) | 0; - var value = (ypos * this.verticesX) + xpos; - var value2 = (ypos * this.verticesX) + xpos + 1; - var value3 = ((ypos+1) * this.verticesX) + xpos; - var value4 = ((ypos+1) * this.verticesX) + xpos + 1; + let value = (ypos * this.verticesX) + xpos; + let value2 = (ypos * this.verticesX) + xpos + 1; + let value3 = ((ypos+1) * this.verticesX) + xpos; + let value4 = ((ypos+1) * this.verticesX) + xpos + 1; indices.push(value, value2, value3); indices.push(value2, value4, value3); diff --git a/src/mesh/Rope.js b/src/mesh/Rope.js index 688daee..f5077d8 100644 --- a/src/mesh/Rope.js +++ b/src/mesh/Rope.js @@ -1,14 +1,14 @@ -var Mesh = require('./Mesh'); -var core = require('../core'); +let Mesh = require('./Mesh'); +let core = require('../core'); /** * The rope allows you to draw a texture across several points and them manipulate these points * *```js - * for (var i = 0; i < 20; i++) { + * for (let i = 0; i < 20; i++) { * points.push(new PIXI.Point(i * 50, 0)); * }; - * var rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); + * let rope = new PIXI.Rope(PIXI.Texture.fromImage("snake.png"), points); * ``` * * @class @@ -66,7 +66,7 @@ */ refresh() { - var points = this.points; + let points = this.points; // if too little points, or texture hasn't got UVs set yet just move on. if (points.length < 1 || !this._texture._uvs) @@ -74,14 +74,14 @@ return; } - var uvs = this.uvs; + let uvs = this.uvs; - var indices = this.indices; - var colors = this.colors; + let indices = this.indices; + let colors = this.colors; - var textureUvs = this._texture._uvs; - var offset = new core.Point(textureUvs.x0, textureUvs.y0); - var factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); + let textureUvs = this._texture._uvs; + let offset = new core.Point(textureUvs.x0, textureUvs.y0); + let factor = new core.Point(textureUvs.x2 - textureUvs.x0, textureUvs.y2 - textureUvs.y0); uvs[0] = 0 + offset.x; uvs[1] = 0 + offset.y; @@ -94,10 +94,10 @@ indices[0] = 0; indices[1] = 1; - var total = points.length, + let total = points.length, point, index, amount; - for (var i = 1; i < total; i++) + for (let i = 1; i < total; i++) { point = points[i]; index = i * 4; @@ -146,25 +146,25 @@ */ updateTransform() { - var points = this.points; + let points = this.points; if (points.length < 1) { return; } - var lastPoint = points[0]; - var nextPoint; - var perpX = 0; - var perpY = 0; + let lastPoint = points[0]; + let nextPoint; + let perpX = 0; + let perpY = 0; // this.count -= 0.2; - var vertices = this.vertices; - var total = points.length, + let vertices = this.vertices; + let total = points.length, point, index, ratio, perpLength, num; - for (var i = 0; i < total; i++) + for (let i = 0; i < total; i++) { point = points[i]; index = i * 4; diff --git a/src/mesh/webgl/MeshShader.js b/src/mesh/webgl/MeshShader.js index 4fedaef..13e1766 100644 --- a/src/mesh/webgl/MeshShader.js +++ b/src/mesh/webgl/MeshShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/particles/ParticleContainer.js b/src/particles/ParticleContainer.js index 3b7c025..52b37c1 100644 --- a/src/particles/ParticleContainer.js +++ b/src/particles/ParticleContainer.js @@ -1,4 +1,4 @@ -var core = require('../core'); +let core = require('../core'); /** * The ParticleContainer class is a really fast version of the Container built solely for speed, @@ -9,11 +9,11 @@ * It's extremely easy to use : * * ```js - * var container = new ParticleContainer(); + * let container = new ParticleContainer(); * - * for (var i = 0; i < 100; ++i) + * for (let i = 0; i < 100; ++i) * { - * var sprite = new PIXI.Sprite.fromImage("myImage.png"); + * let sprite = new PIXI.Sprite.fromImage("myImage.png"); * container.addChild(sprite); * } * ``` @@ -43,7 +43,7 @@ // Making sure the batch size is valid // 65535 is max vertex index in the index buffer (see ParticleRenderer) // so max number of particles is 65536 / 4 = 16384 - var maxBatchSize = 16384; + let maxBatchSize = 16384; if (batchSize > maxBatchSize) { batchSize = maxBatchSize; } @@ -178,7 +178,7 @@ */ onChildrenChange(smallestChildIndex) { - var bufferIndex = Math.floor(smallestChildIndex / this._batchSize); + let bufferIndex = Math.floor(smallestChildIndex / this._batchSize); if (bufferIndex < this._bufferToUpdate) { this._bufferToUpdate = bufferIndex; } @@ -197,17 +197,17 @@ return; } - var context = renderer.context; - var transform = this.worldTransform; - var isRotated = true; + let context = renderer.context; + let transform = this.worldTransform; + let isRotated = true; - var positionX = 0; - var positionY = 0; + let positionX = 0; + let positionY = 0; - var finalWidth = 0; - var finalHeight = 0; + let finalWidth = 0; + let finalHeight = 0; - var compositeOperation = renderer.blendModes[this.blendMode]; + let compositeOperation = renderer.blendModes[this.blendMode]; if (compositeOperation !== context.globalCompositeOperation) { context.globalCompositeOperation = compositeOperation; @@ -217,16 +217,16 @@ this.displayObjectUpdateTransform(); - for (var i = 0; i < this.children.length; ++i) + for (let i = 0; i < this.children.length; ++i) { - var child = this.children[i]; + let child = this.children[i]; if (!child.visible) { continue; } - var frame = child.texture.frame; + let frame = child.texture.frame; context.globalAlpha = this.worldAlpha * child.alpha; @@ -263,7 +263,7 @@ child.displayObjectUpdateTransform(); - var childTransform = child.worldTransform; + let childTransform = child.worldTransform; if (renderer.roundPixels) { @@ -295,7 +295,7 @@ finalHeight = frame.height; } - var resolution = child.texture.baseTexture.resolution; + let resolution = child.texture.baseTexture.resolution; context.drawImage( child.texture.baseTexture.source, @@ -319,7 +319,7 @@ super.destroy(arguments); if (this._buffers) { - for (var i = 0; i < this._buffers.length; ++i) { + for (let i = 0; i < this._buffers.length; ++i) { this._buffers[i].destroy(); } } diff --git a/src/particles/webgl/ParticleBuffer.js b/src/particles/webgl/ParticleBuffer.js index d3ea376..ecbd63d 100644 --- a/src/particles/webgl/ParticleBuffer.js +++ b/src/particles/webgl/ParticleBuffer.js @@ -1,4 +1,4 @@ -var glCore = require('pixi-gl-core'), +let glCore = require('pixi-gl-core'), createIndicesForQuads = require('../../core/utils/createIndicesForQuads'); /** @@ -64,9 +64,9 @@ */ this.staticProperties = []; - for (var i = 0; i < properties.length; i++) + for (let i = 0; i < properties.length; i++) { - var property = properties[i]; + let property = properties[i]; // Make copy of properties object so that when we edit the offset it doesn't // change all other instances of the object literal @@ -107,11 +107,11 @@ */ initBuffers() { - var gl = this.gl; - var i; - var property; + let gl = this.gl; + let i; + let property; - var dynamicOffset = 0; + let dynamicOffset = 0; /** @@ -138,7 +138,7 @@ this.dynamicBuffer = glCore.GLBuffer.createVertexBuffer(gl, this.dynamicData, gl.STREAM_DRAW); // static // - var staticOffset = 0; + let staticOffset = 0; this.staticStride = 0; for (i = 0; i < this.staticProperties.length; i++) @@ -178,9 +178,9 @@ */ uploadDynamic(children, startIndex, amount) { - for (var i = 0; i < this.dynamicProperties.length; i++) + for (let i = 0; i < this.dynamicProperties.length; i++) { - var property = this.dynamicProperties[i]; + let property = this.dynamicProperties[i]; property.uploadFunction(children, startIndex, amount, this.dynamicData, this.dynamicStride, property.offset); } @@ -193,9 +193,9 @@ */ uploadStatic(children, startIndex, amount) { - for (var i = 0; i < this.staticProperties.length; i++) + for (let i = 0; i < this.staticProperties.length; i++) { - var property = this.staticProperties[i]; + let property = this.staticProperties[i]; property.uploadFunction(children, startIndex, amount, this.staticData, this.staticStride, property.offset); } diff --git a/src/particles/webgl/ParticleRenderer.js b/src/particles/webgl/ParticleRenderer.js index 5f0281a..b416c1c 100644 --- a/src/particles/webgl/ParticleRenderer.js +++ b/src/particles/webgl/ParticleRenderer.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), ParticleShader = require('./ParticleShader'), ParticleBuffer = require('./ParticleBuffer'); @@ -29,7 +29,7 @@ // so max number of particles is 65536 / 4 = 16384 // and max number of element in the index buffer is 16384 * 6 = 98304 // Creating a full index buffer, overhead is 98304 * 2 = 196Ko - // var numIndices = 98304; + // let numIndices = 98304; /** * The default shader that is used if a sprite doesn't have a more specific one. @@ -54,7 +54,7 @@ */ onContextChange() { - var gl = this.renderer.gl; + let gl = this.renderer.gl; this.CONTEXT_UID = this.renderer.CONTEXT_UID; @@ -118,7 +118,7 @@ */ render(container) { - var children = container.children, + let children = container.children, totalChildren = children.length, maxSize = container._maxSize, batchSize = container._batchSize; @@ -132,7 +132,7 @@ totalChildren = maxSize; } - var buffers = container._glBuffers[this.renderer.CONTEXT_UID]; + let buffers = container._glBuffers[this.renderer.CONTEXT_UID]; if(!buffers) { @@ -142,29 +142,29 @@ // if the uvs have not updated then no point rendering just yet! this.renderer.setBlendMode(container.blendMode); - var gl = this.renderer.gl; + let gl = this.renderer.gl; - var m = container.worldTransform.copy( this.tempMatrix ); + let m = container.worldTransform.copy( this.tempMatrix ); m.prepend( this.renderer._activeRenderTarget.projectionMatrix ); this.shader.uniforms.projectionMatrix = m.toArray(true); this.shader.uniforms.uAlpha = container.worldAlpha; // make sure the texture is bound.. - var baseTexture = children[0]._texture.baseTexture; + let baseTexture = children[0]._texture.baseTexture; this.renderer.bindTexture(baseTexture); // now lets upload and render the buffers.. - for (var i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) + for (let i = 0, j = 0; i < totalChildren; i += batchSize, j += 1) { - var amount = ( totalChildren - i); + let amount = ( totalChildren - i); if(amount > batchSize) { amount = batchSize; } - var buffer = buffers[j]; + let buffer = buffers[j]; // we always upload the dynamic buffer.uploadDynamic(children, i, amount); @@ -194,7 +194,7 @@ */ generateBuffers(container) { - var gl = this.renderer.gl, + let gl = this.renderer.gl, buffers = [], size = container._maxSize, batchSize = container._batchSize, @@ -221,7 +221,7 @@ */ uploadVertices(children, startIndex, amount, array, stride, offset) { - var sprite, + let sprite, texture, trim, orig, @@ -229,7 +229,7 @@ sy, w0, w1, h0, h1; - for (var i = 0; i < amount; i++) { + for (let i = 0; i < amount; i++) { sprite = children[startIndex + i]; texture = sprite._texture; @@ -285,9 +285,9 @@ */ uploadPosition(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spritePosition = children[startIndex + i].position; + let spritePosition = children[startIndex + i].position; array[offset] = spritePosition.x; array[offset + 1] = spritePosition.y; @@ -317,9 +317,9 @@ */ uploadRotation(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteRotation = children[startIndex + i].rotation; + let spriteRotation = children[startIndex + i].rotation; array[offset] = spriteRotation; @@ -342,9 +342,9 @@ */ uploadUvs(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var textureUvs = children[startIndex + i]._texture._uvs; + let textureUvs = children[startIndex + i]._texture._uvs; if (textureUvs) { @@ -393,9 +393,9 @@ */ uploadAlpha(children,startIndex, amount, array, stride, offset) { - for (var i = 0; i < amount; i++) + for (let i = 0; i < amount; i++) { - var spriteAlpha = children[startIndex + i].alpha; + let spriteAlpha = children[startIndex + i].alpha; array[offset] = spriteAlpha; array[offset + stride] = spriteAlpha; diff --git a/src/particles/webgl/ParticleShader.js b/src/particles/webgl/ParticleShader.js index 12eefb7..684413b 100644 --- a/src/particles/webgl/ParticleShader.js +++ b/src/particles/webgl/ParticleShader.js @@ -1,4 +1,4 @@ -var Shader = require('../../core/Shader'); +let Shader = require('../../core/Shader'); /** * @class diff --git a/src/polyfill/requestAnimationFrame.js b/src/polyfill/requestAnimationFrame.js index 980a397..20ef06f 100644 --- a/src/polyfill/requestAnimationFrame.js +++ b/src/polyfill/requestAnimationFrame.js @@ -18,7 +18,7 @@ // performance.now if (!(global.performance && global.performance.now)) { - var startTime = Date.now(); + let startTime = Date.now(); if (!global.performance) { global.performance = {}; } @@ -28,10 +28,10 @@ } // requestAnimationFrame -var lastTime = Date.now(); -var vendors = ['ms', 'moz', 'webkit', 'o']; +let lastTime = Date.now(); +let vendors = ['ms', 'moz', 'webkit', 'o']; -for(var x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { +for(let x = 0; x < vendors.length && !global.requestAnimationFrame; ++x) { global.requestAnimationFrame = global[vendors[x] + 'RequestAnimationFrame']; global.cancelAnimationFrame = global[vendors[x] + 'CancelAnimationFrame'] || global[vendors[x] + 'CancelRequestAnimationFrame']; @@ -43,7 +43,7 @@ throw new TypeError(callback + 'is not a function'); } - var currentTime = Date.now(), + let currentTime = Date.now(), delay = 16 + lastTime - currentTime; if (delay < 0) { diff --git a/src/prepare/canvas/CanvasPrepare.js b/src/prepare/canvas/CanvasPrepare.js index 1bdf6c0..b8a3682 100644 --- a/src/prepare/canvas/CanvasPrepare.js +++ b/src/prepare/canvas/CanvasPrepare.js @@ -1,4 +1,4 @@ -var core = require('../../core'); +let core = require('../../core'); /** * Prepare uploads elements to the GPU. The CanvasRenderer version of prepare diff --git a/src/prepare/webgl/WebGLPrepare.js b/src/prepare/webgl/WebGLPrepare.js index b37b347..bac893f 100644 --- a/src/prepare/webgl/WebGLPrepare.js +++ b/src/prepare/webgl/WebGLPrepare.js @@ -1,4 +1,4 @@ -var core = require('../../core'), +let core = require('../../core'), SharedTicker = core.ticker.shared; /** @@ -102,13 +102,13 @@ */ tick() { - var i, len; + let i, len; // Upload the graphics while(this.queue.length && this.numLeft > 0) { - var item = this.queue[0]; - var uploaded = false; + let item = this.queue[0]; + let uploaded = false; for (i = 0, len = this.uploadHooks.length; i < len; i++) { if (this.uploadHooks[i](this.renderer, item)) @@ -134,7 +134,7 @@ { this.ticking = false; SharedTicker.remove(this.tick, this); - var completes = this.completes.slice(0); + let completes = this.completes.slice(0); this.completes.length = 0; for (i = 0, len = completes.length; i < len; i++) { @@ -171,7 +171,7 @@ */ add(item) { - var i, len; + let i, len; // Add additional hooks for finding elements on special // types of objects that @@ -275,7 +275,7 @@ } else if (item._texture && item._texture instanceof core.Texture) { - var texture = item._texture.baseTexture; + let texture = item._texture.baseTexture; if (queue.indexOf(texture) === -1) { queue.push(texture);